struts2 ActionSupport中的validate方法

来源:互联网 发布:工信部大数据工程师 编辑:程序博客网 时间:2024/05/17 18:47

重点 :

1 struts.xml中的include方法的使用

<include file="login.xml" />

2 * 和{1}的并联关系 url访问

<action name="search*">
    <result>/search{1}.jsp</result>
</action>

3 空置处理

addFieldError(...)


文件结构



Action.java

package com.zxl.action;import com.zxl.service.FinderService;public class Action {private String bestTutorialSite;private String language;public String  execute(){FinderService tutorialFinderService = new FinderService();System.out.println(getLanguage());setBestTutorialSite(tutorialFinderService.getBestTutorialSite(getLanguage()));return "success";}public String getBestTutorialSite() {return bestTutorialSite;}public void setBestTutorialSite(String bestTutorialSite) {this.bestTutorialSite = bestTutorialSite;}public String getLanguage() {return language;}public void setLanguage(String language) {this.language = language;}}

LoginAction.java
package com.zxl.service;public class FinderService {public String getBestTutorialSite(String lauguage){if(lauguage.equals("java")){ return "java brains";}else{return "not java";}}}

FinderService.java

package com.zxl.action;import org.apache.commons.lang3.StringUtils;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {//success in action interface private String userId;private String password;public void validate(){if(StringUtils.isEmpty(getUserId())){addFieldError("userId", "user id cannot be blank");}if(StringUtils.isEmpty(getPassword())){addFieldError("password", "password id cannot be blank");}}public String execute(){if(getUserId().equals("userId") && getPassword().equals("password")){return SUCCESS;}return LOGIN;}public String getUserId() {return userId;}public void setUserId(String userId) {this.userId = userId;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

login.xml

<?xml version="1.0" encoding="GBK" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>    <include file="struts-default.xml"></include><constant name="struts.devMode" value="true"></constant>    <package name="loginPackage" namespace="/" extends="struts-default">        <action name="login" class="com.zxl.action.LoginAction" >    <result name="success">/searchForm.jsp</result>    <result name="login">/login.jsp</result>    <result name="input">/login.jsp</result>    </action>    </package></struts>

struts.xml

<?xml version="1.0" encoding="GBK" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts><include file="login.xml" />    <package name="HelloPackage" namespace="/hello" extends="struts-default">    <action name="Hello" class="com.zxl.action.Action" >    <result name="success">/success.jsp</result>    <result name="failure">/error.jsp</result>    </action>    </package>        <package name="search" namespace="/" extends="struts-default">    <action name="search*">    <result>/search{1}.jsp</result>    </action>    </package>    </struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  <display-name>StrutsDemo04</display-name>  <welcome-file-list>    <welcome-file>login.jsp</welcome-file>  </welcome-file-list>  <filter>    <filter-name>struts2</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>    <filter-name>struts2</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>  </web-app>

error.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%><!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=ISO-8859-1"><title>Insert title here</title></head><body>error occured</body></html>

login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>    <%@ taglib uri="/struts-tags" prefix="s" %><!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=ISO-8859-1"><title>Insert title here</title></head><body><s:form action="login" ><s:textfield label="Login ID" key="userId" /><s:password label="Password" key="password" /><s:submit /></s:form></body></html>

searchForm.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>    <%@ taglib uri="/struts-tags" prefix="s" %><!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=ISO-8859-1"><title>Search form</title></head><body><s:form action="hello/Hello.action"><s:textfield label="enter key" key="language" /><s:submit /></s:form><br /><form method="post" action="hello/Hello.action"><input id="language" name="language" /><input type="submit" /></form></body></html>

searchPage.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>    <%@ taglib uri="/struts-tags" prefix="s" %><!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=ISO-8859-1"><title>Search page</title></head><body><s:form action="hello/Hello.action"><s:textfield label="enter key" key="language" /><s:submit /></s:form><br /><form method="post" action="hello/Hello.action"><input id="language" name="language" /><input type="submit" /></form></body></html>

success.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>    <%@ taglib uri="/struts-tags" prefix="s" %><!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=ISO-8859-1"><title>Success</title></head><body>Business service executed !<s:property value="bestTutorialSite" /></body></html>


---------------------------------------------------------------------------------------------------------------------

测试

<package name="search" namespace="/" extends="struts-default">
    <action name="search*">
    <result>/search{1}.jsp</result>
    </action>
</package>




-----------