Struts2 学习笔记(二)

本贴最后更新于 3015 天前,其中的信息可能已经时过境迁

Struts2 学习笔记

    Struts2 结果页面的配置

    1. 全局结果页面

<global-results> <result name="success">/hello.jsp</result> </global-results>

    2. 局部结果页面

<action name="hello" class="action.HelloAction"> <!-- 配置返回值到页面 --> <result name="ok">/hello.jsp</result> </action>

    3. result 标签的 type 属性
      (1) 默认为转发值是 dispatcher
      (2) 重定向值是 redirect
      (3) chain : 转发到 action,一般不用
      (4) redirectAction: 重定向到 action

    Action 获取表单提交数据

    1. 使用 ActionContext 类

ActionContext context = ActionContext.getContext(); //key是表单输入项name的值,value是输入的值 Map<String, Object> map = context.getParameters();

    2. 使用 ServletActionContext 类

HttpServletRequest request = ServletActionContext.getRequest(); String name = request.getParameter("name"); String pass = request.getParameter("pass");

    3. 使用接口注入

public class HelloAction extends ActionSupport implements ServletRequestAware{ private HttpServletRequest request; public void setServletRequest(HttpServletRequest request) { // TODO Auto-generated method stub this.request = request; } public String execute(){ String name = request.getParameter("name"); String pass = request.getParameter("pass"); return NONE; } }

    实体类的封装

    1. 属性封装,在 action 加入字段,变量名称与表单里面的 name 属性一致,生成 set,get 方法

public class HelloAction extends ActionSupport{ private String name; private String pass; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public String execute(){ System.out.println(name+" :"+pass); return NONE; }

    2. 模型驱动封装

public class HelloAction extends ActionSupport implements ModelDriven<User>{ //创建对象 //前提要求:表单输入项name属性值和实体类属性名称一样 private User user = new User(); public User getModel() { // TODO Auto-generated method stub return user; } public String execute(){ System.out.println(user); return NONE; } }

    3. 表达式封装

//在action中声明对象 private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String execute(){ System.out.println(user); return NONE; }
<form action="${pageContext.request.contextPath }/userAction.action" method="post"> <input type="text" name="user.username" /> <input type="text" name="user.pass" /> </form>
  • Struts2
    13 引用 • 14 回帖 • 1 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3200 引用 • 8216 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...