十、input与跳转
生活随笔
收集整理的這篇文章主要介紹了
十、input与跳转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.在loginAction,新增result
<action name="LoginAction" method="login" class="com.myz.action.LoginAction"><!-- result不配置name表示默認為success,配置了name值則將與action中返回的字符串對應 --><result>/loginok.jsp</result><result name="input">/login/jsp</result></action>2.用戶在三種情況下會自動跳轉到input值對應的界面(如果你配置了input)
2.1用戶輸入值類型轉換錯誤,例如User類中定義了一個整型屬性age,但是用戶輸入了一個字符串,則無法轉換。
2.2手動返回
2.2.1loginAction中,增加功能,假如用戶名為空不能通過
package com.myz.action;import com.myz.domain.User; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven;public class LoginAction extends ActionSupport implements ModelDriven<User>{private User user=new User();public String login(){if(user.getName()==null|| "".equals(user.getName())) {//添加一個FieldError,名字為name_null,內容為“用戶名不能為空”this.addFieldError("name_null", "用戶名不能為空!");return INPUT;}return SUCCESS;}@Overridepublic User getModel() {// TODO Auto-generated method stubreturn user;} }2.2.2在login.jsp里,可以取出這個FieldError,當因為字段判斷返回值為input的時候,它就會顯示出來
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body><h2>用戶登陸</h2><form action="LoginAction.action" method="post">用戶名:<input type="text" name="name"><br/><s:fielderror name="name_null"></s:fielderror>密碼:<input type="text"name="password"><br/>書籍1:<input type="text" name="booklist[0].bookname"><br/>書籍1:<input type="text" name="booklist[1].bookname"><br/>年齡:<input type="text" name="age"><br/><input type="submit" value="登錄"></form> </body> </html>2.3校驗方法,loginAction中添加了校驗方法,則不用返回input,每次提交的時候會自動校驗
package com.myz.action;import com.myz.domain.User; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven;public class LoginAction extends ActionSupport implements ModelDriven<User>{private User user=new User();public String login(){return SUCCESS;}//在提交之后將會執行validate函數,當執行此函數并且執行了addFieldError操作的時候,默認返回INPUT @Overridepublic void validate() {// TODO Auto-generated method stubif(user.getName()==null|| "".equals(user.getName())) {//添加一個FieldError,名字為name_null,內容為“用戶名不能為空”this.addFieldError("name_null", "用戶名不能為空!");}}@Overridepublic User getModel() {// TODO Auto-generated method stubreturn user;} }?
轉載于:https://www.cnblogs.com/myz666/p/8454858.html
總結
以上是生活随笔為你收集整理的十、input与跳转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 经常梦到前妻预示什么意思
- 下一篇: 梦到吃菜馍是什么意思