struts2学习笔记(4)接收参数

①用action属性接收

  登录界面例子

  在webroot下创建login.jsp和success.jsp

  login.jsp中加入表单:  

  <form action="LoginAction.action" method="post">
    用户名:<input type="text" name="username"> <br>
    密码:<input type="password" name="password"><br>
  <input type="submit" value="提交">
  </form>

  表单中的用户名和密码会传到LoginAction.action

  在com.lzhc.action包中创建LoginAction.java,代码如下:

  public class LoginAction extends ActionSupport {
    private String username;
    private String password;
    public String getUsername() {
      return username;
    }
    public void setUsername(String username) {
      this.username = username;
    }

    public String getPassword() {
      return password;
    }
    public void setPassword(String password) {
      this.password = password;
    }
    public String login(){
      System.out.println(username);
      System.out.println(password);
      return SUCCESS;
    }
  }

  修改struts.xml配置文件,添加LoginAction.action  

  <action name="LoginAction" method="login" class="com.lzhc.action.LoginAction">
    <result>/success.jsp</result>
  </action>

  登录页面即制作完成,在web上输入网址http://localhost:8080/test/login.jsp测试

②使用DomainModel接收参数

  在src中建一个新包com.lzhc.po,在包下新建User.java,写入以下代码:

    private String username;
    private String password;
    public String getUsername() {
      return username;
    }
    public void setUsername(String username) {
      this.username = username;
    }

    public String getPassword() {
      return password;
    }
    public void setPassword(String password) {
      this.password = password;
    }
  在LoginAction.java中添加代码:

  private User user;

  public User getUser() {
    return user;
  }
  public void setUser(User user) {
    this.user = user;
  }

  用user.getUsername()获取用户名,用user.getPassword()获取密码

  login.jsp将用户名及密码的name改成user.username以及user.password

③使用ModelDriven接收参数(一般用此方法,方便快捷)

  在②的基础上,LoginAction.java中的LoginAction函数加上代码:implements ModelDriven<User>

  改写方法

  public User getModel() {

    return user;
  }

  则②中LoginAction的user的get,set方法不用写,但需在开头写private User user=new user();

  不需再在login.jsp中的username和password前加user.

时间: 2024-08-07 17:01:58

struts2学习笔记(4)接收参数的相关文章

Struts2 学习笔记(概述)

Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并实现应用的功能.通常分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息.用户信息等:而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等. 封装应用状态:某些应用数据封装起来,使得视图只能通过接口获取对应的数据 响应状态查询:对应用的状态改变进行处理 暴露应用功能:暴露接口 通

struts2学习笔记(一)—— 知识点扫描

一.struts2的核心部件 (1)Configuration (2)Action (3)Interceptor (4)Value Stack / OGNL (5)Result Types (6)Results / View Technology 二.architectural goals: (1)separation  of concerns (2)loose coupling (3)testability (4)modularization (5)convention over config

struts2学习笔记(7)------------ognl表达式

OGNL表达式(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言. Struts2自行维护一个特定范围的"银行",Action将数据放入其中,而JSP页面可从中取数据,表面上似乎看起来像是jsp可以直接访问Action数据.. 当Action属性不再是简单的值,而是某个对象,数组,集合时,就需要使用ognl表达式来访问这些对象,数组,集合内的数据了. 1)ognl的stack Conte

struts2学习笔记(三)—— 在用户注册程序中使用验证框架

实现目标: 1.使用验证框架对用户注册信息进行验证 2.验证用户名.密码.邮箱不能为空 3.验证用户名.密码长度 4.验证邮件地址格式 具体实现 一.Struts2应用的基础配置 这里不做详细阐述,具体为web.xml.相关jar包的配置 二.将页面显示的文本内容放到资源文件中 1.查看用户注册程序中的所有页面,找到所有可以显示的文本内容,将它们分离出来放到资源文件中. 2.与相关的Action类同名,以.preperties为扩展名,与Action类位于同一个包中,只能由该Action访问 R

struts2学习笔记(5)----------配置result

Action只负责处理请求,负责生成响应的视图组件,一般是JSP页面,而Action为JSP页面提供显示的数据.Action处理请求结束后,控制器根据<result>元素配置的逻辑视图跟物理视图之间的关系来响应. 浏览器,控制器和视图资源的顺序图如下: 如图所示,Action处理完一个请求后,并未直接把请求转发给任何具体的视图资源,而是返回给一个逻辑视图,struts2框架收到这个逻辑视图后,把请求转发到对应的物理视图资源,试图资源将结果呈现给用户. 1)result基本配置 struts2提

struts2 学习笔记

Struts2 学习笔记 在使用J2EE编写网站的时候,我们经常会使用Struts2框架.Struts2的好处就是许多东西已经被封装好了,我们只需要包含给定的jar文件,就能够调用相应的方法和标签.下面我将简要介绍一下Struts2的使用和特点: 一.搭建Struts2的环境:(主要分为三个部分:包含lib文件.web.xml改写.新建一个Struts.xml) 1.打开myeclise软件,新建一个Dynamic web project,在WebContent/WEB-INF文件夹下的lib文

Struts2学习笔记(2)值传递

1.action接收jsp传过来的值: a.定义一个User类   有name  pwd属性,  添加相应的get,set方法   b.<!-- 方式1 普通java类 -->  在UserAction中    添加: private User user;  并添加相应的get,set方法 <!-- 方式2 实现ModelDriven<T>接口-->   在UserAction中   @Override   public User getModel() {    ret

python 学习笔记 11 -- 使用参数使你的程序变得更性感

当然,在之前的系列中,我已介绍如何给 Python 脚本传参,当然,今天不会继续介绍这么无聊的东东.首先使用 python 的sys.argv 传参的话,就固定了参数的个数.顺序以及格式,这么死的规定如何性感? I have a dream , to make my code much sexer ! 今天我们简单介绍一下如何更加随性的给 python 脚本传参.效果如下: [email protected]:/tmp$ python arg.py -h NAME: project with u

Struts2学习笔记(九):Strut2通用标签详解

本节主要介绍Strus2中的通用标签,主要有<s:url>, <s:set>, <s:push>, <s:if>, <s:elseif>, <s:else>, <s:iterator>, <s:sort>, <s:date>, <s:a>等几个标签的具体用法,仍然采用代码加注释的形式进行说明,希望能对大家有帮助. 刚入门的朋友阅读本文前,请阅读: Struts2学习笔记(六):值栈(va

struts2学习笔记(二)—— 获取登录信息及计算在线人数

实现目的: 1.点击"Login"的超链接,进入登录页面 2.填写登录信息,提交表单,将用户信息保存进Session 3.显示用户名,并计算在线人数 4.点击"Logout"的超链接,在线人数减一,并使Session失效 Struts2实现: 1.配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:/