Struts2学习总结

Struts2学习总结

1 Action
(1)public String execute() throws Exception{}
(2)extends ActionSupport
(3)implements Action
 
2 Action 中访问 Servlet API
(1)ActionContext
 
ActionContext ac = ActionContext.getContext();
Map session = ac.getSession();
session.put(“username”, username);
取数据: ${sessionScope.username}
 
方法二: Extends ActionSupport implements ServletContextAware ServletRequestAware ServletResponseAware
通过实现的方法传递出 HttpServletRequest HttpServletResponse 从而得到 HttpSession
 
方法三: HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
ServletContext sc = ServletActionContext.getContext();
HttpSession session = request.getSession();
Session.setAttribute(“username”, usernames);
 
 
同一业务用例中可能有多个方法,即在 1 个类中处理多个动作,比如 login register
方法一:
页面:
<a href=”<%=path %>/user!login.action”>Login</a>
 
         <a href=”/user!login.action”>Login</a> |
         <a href=”/user!register.action”>Register</a>
 
Action:
UserAction 中增加 login() throws Exception, register() throws Exception
 
 
方法二:
         配置文件中分别指定每次需要调用的方法
<action name=”userRegister” class=”com.alibaba.aciton.UserAction” method=”register”>
<result name=”registerOk” >registerOK.jsp</result>
</action>
<action name=”userRegister” class=”com.alibaba.aciton.UserAction” method=”login”>
<result name=”loginOk” >loginOk.jsp</result>
</action>
 
页面则使用如下方式:
         <a href=”/userlogin.action”>Login</a> |
         <a href=”/userregister.action”>Register</a>
 
方法三:
         struts.xml 的配置文件可以更加的灵活处理,采用通配符的方式
<action name=”*Action” class=”com.alibaba.action.UserAction” method={1}>
<result name=”registerOk” >registerOK.jsp</result>
<result name=”loginOk” >loginOk.jsp</result>
</action>
 
页面提交处需要以 **Action 命名,即可被通配符截获
 
 
类型转换机制:
1 、常用的类型, 框架自动转换
 Struts2 基于 OGNL 的, 重要接口 TypeConverter
Extends DefaultTypeConverter
 
public class PointConverter extends DefaultTypeConverter{
         public Object convertValue(Map map, Object obj, Class toType){
        
}
 
}
再在配置文件中指定那个类用那个转换器来转换
PointAction-conversion.properties
         Point=com.alibaba.converter.PointConverter
或者:
全局: xwork-conversion.properties
 
StrutsTypeConverter
 
2 、自定义类型
 
 
 
 
3 Struts 中的标签
<%@ taglib uri=”/struts-tags” prefix=”s” %>, 其中 uri struts-core 中的 strults-tags.tld 中的
 
<s:form action=”register.action” ><!― 不用再写 .action -->
         <s:textfield name=”name”  label=”Name”/>
         <s:textfield name=”age”  label=”Age”/>
         <s:submit value=”Register” />
 
</s:form>

你可能感兴趣的:(struts2,职场,休闲)