struts2-Action笔记
1。默认action处理
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <!--当找不到action则返回默认的action--!> <default-action-ref name="index"></default-action-ref> <action name="index"> <result>/default.jsp</result> </action> </package></struts>
import java.util.Map;import org.apache.struts2.interceptor.ApplicationAware;import org.apache.struts2.interceptor.RequestAware;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {private Map<String, Object> request;private Map<String, Object> session;private Map<String, Object> application;//DI dependency injection//IoC inverse of controlpublic String execute() {request.put("r1", "r1");session.put("s1", "s1");application.put("a1", "a1");return SUCCESS; }@Overridepublic void setRequest(Map<String, Object> request) {this.request = request;}@Overridepublic void setSession(Map<String, Object> session) {this.session = session;}@Overridepublic void setApplication(Map<String, Object> application) {this.application = application;}}<?xml version="1.0" encoding="GB18030" ?><%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@taglib uri="/struts-tags" prefix="s" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><title>Insert title here</title></head><body>User Login Success!<br /><s:property value="#request.r1"/> | <%=request.getAttribute("r1") %> <br /><s:property value="#session.s1"/> | <%=session.getAttribute("s1") %> <br /><s:property value="#application.a1"/> | <%=application.getAttribute("a1") %> <br /><s:property value="#attr.a1"/><br /><s:property value="#attr.s1"/><br /><s:property value="#attr.r1"/><br /><s:debug></s:debug><br /></body></html>import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {private String name;public String add() {if(name == null || !name.equals("admin")) {this.addFieldError("name", "name is error");this.addFieldError("name", "name is too long");return ERROR;} return SUCCESS;}public String getName() {return name;}public void setName(String name) {this.name = name;}}<body>User Add Error!<s:fielderror fieldName="name" theme="simple"/><br /><s:property value="errors.name[0]"/><s:debug></s:debug></body>
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <constant name="struts.devMode" value="true" /> <!-- 将login.xml包含在此处,相当于把login.xml中的配置直接复制到这里 --> <include file="login.xml" /></struts>
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <package name="login" extends="struts-default" namespace="/login"> <action name="login*" class="com.hugui.struts2.user.action.LoginAction{1}"> <result>/user_login_success.jsp</result> </action> </package></struts>