struts2的相关学习
<filter>
<filter-name>struts2</filter-name>
<filter-class>.......</filter-class>
<filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*<url-pattern>
<filter-mapping>
Action类中获取一些jsp里面的域
ActionContext ac = ActionContext.getContext();
Map application = ac.getApplication();
Map session = ac.getSession();
Map request = ac.get();
也可以是Map request = ac.get("request");
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session=request.getSession();
ActionContext ac = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest)ac.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse response = (HttpServletResponse)ac.get(ServletActionContext.HTTP_RESPONSE);
<!-- action的name不能为register或者login,有bug -->
<package name="mypackage1">
<action name="register" class="org.abc.action.RegisterAction">
<result name="success">/register_success.jsp</result>
<result name="error">/register_error.jsp</result>
</action>
</package>
<!-- 选择为根命名空间 -->
<package name="mypackage2" namespace="/">
<action name="register" class="org.abc.action.RegisterAction">
<result name="success">/register_success.jsp</result>
<result name="error">/register_error.jsp</result>
</action>
</package>
<!-- 选择为自定义命名空间 -->
<package name="mypackage3" namespace="/mynamespace">
<action name="register" class="org.abc.action.RegisterAction">
<result name="success">/register_success.jsp</result>
<result name="error">/register_error.jsp</result>
</action>
</package>
<!-- 指定调用某个方法 -->
<action name="register" class="org.abc.action.RegisterAction" method="regist">
...
</action>
<!-- 另一种方式 -->
<form action="register!regist.action" method="post">
...
</form>
<!-- struts2 还可以使用 -->
<s:form action="register.action" method="post">
...
<s:submit value="注册" method="regist"/>
</s:form>
<!-- 可以使用通配符 -->
<action name="*" class="org.abc.action.RegisterAction" method="{1}">
...
</action>
<form action="regist.action" method="post">
...
</form>
<!-- 结果也可以使用通配符,如果调用了regist.action,如果返回的是error,则转发到regist.jsp -->
<action name="*" class="org.abc.action.RegisterAction" method="{1}">
<result name="error">/{1}.jsp</result>
</action>
<!-- Action可以指定默认class -->
<package name="default" extends="struts-default">
<default-class-ref class="org.abc.action.RegisterAction"></default-class-ref>
<action name="register">
...
</action>
</package>
<!-- result的使用样例,当使用了regist返回结果为success时,跳转到命名空间为/login下的login Action -->
<package name="regist" extends="struts-default">
<action name="regist" class="org.abc.action.RegisterAction">
<result name="success" type="redirectAction">
<param name="actionName">login</param>
<param name="namespace">/login</param>
</result>
</action>
<package>
<package name="login" extends="struts-default">
<action name="login" class="org.abc.action.LoginAction">
<result name="success">/index.jsp</result>
</action>
</package>
<filter>
<filter-name>struts2</filter-name>
<filter-class>.......</filter-class>
<filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*<url-pattern>
<filter-mapping>
Action类中获取一些jsp里面的域
ActionContext ac = ActionContext.getContext();
Map application = ac.getApplication();
Map session = ac.getSession();
Map request = ac.get();
也可以是Map request = ac.get("request");
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session=request.getSession();
ActionContext ac = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest)ac.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse response = (HttpServletResponse)ac.get(ServletActionContext.HTTP_RESPONSE);
<!-- action的name不能为register或者login,有bug -->
<package name="mypackage1">
<action name="register" class="org.abc.action.RegisterAction">
<result name="success">/register_success.jsp</result>
<result name="error">/register_error.jsp</result>
</action>
</package>
<!-- 选择为根命名空间 -->
<package name="mypackage2" namespace="/">
<action name="register" class="org.abc.action.RegisterAction">
<result name="success">/register_success.jsp</result>
<result name="error">/register_error.jsp</result>
</action>
</package>
<!-- 选择为自定义命名空间 -->
<package name="mypackage3" namespace="/mynamespace">
<action name="register" class="org.abc.action.RegisterAction">
<result name="success">/register_success.jsp</result>
<result name="error">/register_error.jsp</result>
</action>
</package>
<!-- 指定调用某个方法 -->
<action name="register" class="org.abc.action.RegisterAction" method="regist">
...
</action>
<!-- 另一种方式 -->
<form action="register!regist.action" method="post">
...
</form>
<!-- struts2 还可以使用 -->
<s:form action="register.action" method="post">
...
<s:submit value="注册" method="regist"/>
</s:form>
<!-- 可以使用通配符 -->
<action name="*" class="org.abc.action.RegisterAction" method="{1}">
...
</action>
<form action="regist.action" method="post">
...
</form>
<!-- 结果也可以使用通配符,如果调用了regist.action,如果返回的是error,则转发到regist.jsp -->
<action name="*" class="org.abc.action.RegisterAction" method="{1}">
<result name="error">/{1}.jsp</result>
</action>
<!-- Action可以指定默认class -->
<package name="default" extends="struts-default">
<default-class-ref class="org.abc.action.RegisterAction"></default-class-ref>
<action name="register">
...
</action>
</package>
<!-- result的使用样例,当使用了regist返回结果为success时,跳转到命名空间为/login下的login Action -->
<package name="regist" extends="struts-default">
<action name="regist" class="org.abc.action.RegisterAction">
<result name="success" type="redirectAction">
<param name="actionName">login</param>
<param name="namespace">/login</param>
</result>
</action>
<package>
<package name="login" extends="struts-default">
<action name="login" class="org.abc.action.LoginAction">
<result name="success">/index.jsp</result>
</action>
</package>