多的不说,直接上代码;

struts.xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
 <package name="login" namespace="/user" extends="struts-default">
 <action name="*_*" class="com.wepull.struts2.action.{1}Action"
    method="{2}">
  <result name="success">{1}_{2}.jsp</result>
  <result name="input">User_toLogin.jsp</result>
 </action>
</package>
</struts>

第一种传参方式:

import com.opensymphony.xwork2.ActionSupport;
/**
 * Struts2三种传参方式(从jsp页面传到Action)
 *
 * 方式一:直接在action中写属性,然后写set、get方法
 * 1.在Action里添加属性,属性名要对应jsp上的属性名
 *  2.添加相应的set方法
 *
 */
public class UserAction 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 doLogin(){
 String forward="input";
 //System.out.println(name+" "+pass);
 if("wepull".equalsIgnoreCase(name)&&"123".equalsIgnoreCase(pass)){
  return SUCCESS;   //登录成功,返回成功页面
 }else{
  return forward;   //登录失败,返回重新登录
 }
}

public String toLogin(){
 return SUCCESS;       //进入登录页面
}

}

------------------------------------------------------------------------------------------------------------------------------

User_toLogin.jsp页面:

<form action="user/User_doLogin">
    <table>
     <tr>
      <td>用户名</td>
      <td><input type="text" name="name"></td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td>密 码</td>
      <td><input type="text" name="pass"></td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td><input type="submit" value="sure" ></td>
      <td><input type="reset" value="reset" ></td>
      <td>&nbsp;</td>
     </tr>
    </table>
   </form>

##########################################################################

第二种传参方式:

import com.opensymphony.xwork2.ActionSupport;
/**
* Struts2三种传参方式(从jsp页面传到Action)
*
* 方式二:把属性封装到dto中,传值时以dto名字.其中属性
* 1.在Action里添加属性,属性名要对应jsp上的属性名
*  2.添加相应的set方法
*
*/
public class UserAction extends ActionSupport {
private UserDTO user;
public UserDTO getUser() {
 return user;
}
public void setUser(UserDTO user) {
 this.user = user;
}

public String doLogin(){
 String forward="input";
 //System.out.println(user.getName()+" "+user.getPass());
 if("wepull".equalsIgnoreCase(user.getName())&&"123".equalsIgnoreCase(user.getPass())){
  return SUCCESS;  
 }else{
  return forward;
 }
}

public String toLogin(){
 return SUCCESS;
}
}

------------------------------------------------------------------------------------------------------------------------------

UserDTO.java代码

public class UserDTO {
private String id;
private String name;
private String pass;
public String getId() {
 return id;
}
public void setId(String id) {
 this.id = id;
}
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;
}
}

------------------------------------------------------------------------------------------------------------------------------

User_toLogin.jsp页面:

<form action="user/User_doLogin">
    <table>
     <tr>
      <td>用户名</td>
      <td><input type="text" name="user.name"></td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td>密 码</td>
      <td><input type="text" name="user.pass"></td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td><input type="submit" value="sure" ></td>
      <td><input type="reset" value="reset" ></td>
      <td>&nbsp;</td>
     </tr>
    </table>
   </form>

##########################################################################

第三种传参方式:

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
/**
* Struts2三种传参方式(从jsp页面传到Action)
*
* 方式三:实现ModelDriven
* 实现ModelDriven接口
*
*/
public class UserAction extends ActionSupport implements ModelDriven<UserDTO>{
private UserDTO user;

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

public String doLogin(){
 String forward="input";
 //System.out.println(user.getName()+" "+user.getPass());
 if("wepull".equalsIgnoreCase(user.getName())&&"123".equalsIgnoreCase(user.getPass())){
  return SUCCESS;  
 }else{
  return forward;
 }
}

public String toLogin(){
 return SUCCESS;
}
public UserDTO getModel() {
 if(user==null){
  user=new UserDTO();
 }
 return user;
}
}

------------------------------------------------------------------------------------------------------------------------------

User_toLogin.jsp页面:

<form action="user/User_doLogin">
    <table>
     <tr>
      <td>用户名</td>
      <td><input type="text" name="name"></td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td>密 码</td>
      <td><input type="text" name="pass"></td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td><input type="submit" value="sure" ></td>
      <td><input type="reset" value="reset" ></td>
      <td>&nbsp;</td>
     </tr>
    </table>
   </form>

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

另外,在介绍一种通过HttpServletRequest request  传参方式

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
/**
* 获取request参数的方式
*HttpServletRequest request  传参方式
*
*/
public class UserAction extends ActionSupport{

public String doLogin(){
 //获取request对象
 HttpServletRequest request=ServletActionContext.getRequest();
 //获取session对象
 //HttpSession session=request.getSession();
 String name=request.getParameter("name");
 String pass=request.getParameter("pass");
 String forward="input";
 if("wepull".equalsIgnoreCase(name)&&"123".equalsIgnoreCase(pass)){
  return SUCCESS;  
 }else{
  return forward;
 }
}

public String toLogin(){
 return SUCCESS;
}

}

<转> jsp页面向action传值的方法(最后一种简单)的更多相关文章

  1. struts2中关于jsp页面向action传值出现乱码问题

    在JSP页面输入中文并传给后台的时候,常常会出现乱码问题,产生乱码的原因:java在进行传值的时候,默认用的是iso-8859-1的编码形式进行传输,而我们jsp页面常用的则是utf-8的编码形式.所 ...

  2. JSP中页面向Action传递参数的几种方式

    <form name="ThisForm" method="POST" action="index.jsp"> form是表单, ...

  3. struts2 页面向Action传参方式

    1.基本属性注入 我们可以直接将表单数据项传递给Action,而Action只需要提供基本的属性来接收参数即可,这种传参方式称为基本属性注入.例如 jsp页面: <s:form method=& ...

  4. jnhs-SpringMVC jsp页面向controller传递参数的五种方式

    一共是五种传参方式: 一:直接将请求参数名作为Controller中方法的形参 public  String login (String username,String password)   : 解 ...

  5. Struts2中在Action里面向前端页面传值的方法总结

    由于在Action中并不能直接诶访问Servlet API,但它提供了相关类ActionContext来访问HttpServletRequest.HttpSession和ServletContext, ...

  6. 【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】

    阅读目录 1. URL 链接后追加参数 2. Form 3. 设置 Cookie 4. 设置 Session JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧. 试着将各种方式总 ...

  7. JS实现HTML静态页传值的方法

    JS实现HTML静态页传值的方法 作者:前端开发-武方博 发布:2012-10-29 分类:javascript 阅读:8,735次     此处使用JS方式实现静态页之间值传递,其实很简单,废话不多 ...

  8. jsp想js,action传值

    1.struts2 action如何向JSP的JS函数传值 action中定义变量 public class TestAction extends ActionSupport implements S ...

  9. JSP与Servlet之间传值的一般方法,适合新手做练习

    #JSP与Servlet之间传值 Jsp与Servlet之间的传值有两种,一种是Jsp传值给Sevlet,另一种是Servlet传值给Jsp:使用request.response对象完成传值,具体实现 ...

随机推荐

  1. [美]莫提默 J. 艾德勒《如何阅读一本书》

      我最近在阅读一本书,这本书的书名叫<如何阅读一本书>(商务出版社,2015),顾名思义.   作者认为,阅读是一件跟写书一样复杂的活动,而许多人并不会阅读. 看过后,你可能会有“我真没 ...

  2. COGS502. 长路上的灯

    502. 长路上的灯 ☆   输入文件:light.in   输出文件:light.out   简单对比时间限制:1 s   内存限制:128 MB [题目描述] 在一条无限长的路上,有一排无限长的路 ...

  3. yum报错

    用man clean all man yum,可以看到,clean选项的作用是: Is  used  to clean up various things which accumulate in th ...

  4. Intent官方教程(6)常见Intent示例,启动日历,时钟,镜头等。

    guide/components/intents-common.html 包含:Alarm Clock Calendar Camera Contacts/People App Email File S ...

  5. VC如何让窗口半透明

    转载:http://blog.csdn.net/bichenggui/article/details/8291946 //加入WS_EX_LAYERED扩展属性 LONG styleValue = : ...

  6. Java1.8.0_05 环境配置

    1.计算机->属性->高级系统设置->环境变量->系统变量 2.新建JAVA_HOME 变量值设为C:\Java\jdk1.8.0_05 即安装目录,确定. 3.新建CLASS ...

  7. HDU 4996 Revenge of LIS(DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4996 题意:求1到n的全排列中,有多少个排列的最长上升子列长度为K? 思路:对于当前的最长上升子列,我 ...

  8. Utility

    #region Tools public static string ForMatDateTime(DateTime dt, string formatStr) { return string.For ...

  9. CSS笔记(四)文本

    CSS 文本属性可定义文本的外观.通过文本属性,可以改变文本的颜色.字符间距,对齐文本,装饰文本和对文本进行缩进,等等. 参考:http://www.w3school.com.cn/css/css_t ...

  10. CentOS7_RAID5_LVM_SAMBA

    1.在CentOS 7上构建RAID5.LVM和SAMBA服务器(1)——预备http://blog.csdn.net/kingfox/article/details/51099617 2.在Cent ...