struts开发<struts中的参数传递.三>

不说废话,直接上干货


1.通过set和get传递参数

增加username 和password两个属性并增加set和get方法

<span style="font-size:18px;">package fzl.user.struts.demo;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
<span style="white-space:pre">	</span>private String  username;
<span style="white-space:pre">	</span>private String password;
public String getUsername() {
<span style="white-space:pre">		</span>return username;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public void setUsername(String username) {
<span style="white-space:pre">		</span>this.username = username;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public String getPassword() {
<span style="white-space:pre">		</span>return password;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public void setPassword(String password) {
<span style="white-space:pre">		</span>this.password = password;
<span style="white-space:pre">	</span>}
public String list(){
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>System.out.println("list");
<span style="white-space:pre">	</span>return "success";
}
public String input(){
<span style="white-space:pre">	</span>System.out.println("input");
<span style="white-space:pre">	</span>return "success";
}<span style="white-space:pre">	</span>

public String add(){
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>System.out.println("add");
return "success";
}}
</span>

在list使用EL表达式和struts标签调用

<pre name="code" class="html"><span style="font-size:18px;"><%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
通过EL访问
${username }-->${password }
<h1>------------------list -----------------</h1>
通过struts标签访问
<s:property value="username"/>--><s:property value="password"/>
</body>
</html></span>

在浏览器输入http://localhost:9000/strustDemo1/User_list?username=fzl&password=123 传入参数



第二种方法,通过Actioncontext完成

<span style="font-size:18px;">package fzl.user.struts.demo;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction 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 list(){
	ActionContext.getContext().put("username", "flyou");
	ActionContext.getContext().put("password", "553274238");
	System.out.println("list");
	return "success";
}
public String input(){
	System.out.println("input");
	return "success";
}	

public String add(){

	System.out.println("add");
return "success";
}}</span>

list文件不用修改


第三种方法,通过servletAPI传值

<span style="font-size:18px;">package fzl.user.struts.demo;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction 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 list(){
	//ActionContext.getContext().put("username", "flyou");
	//ActionContext.getContext().put("password", "553274238");
	ServletActionContext.getRequest().setAttribute("username", "flyou");
	ServletActionContext.getRequest().setAttribute("password", "553274238");
	System.out.println("list");
	return "success";
}
public String input(){
	System.out.println("input");
	return "success";
}	

public String add(){

	System.out.println("add");
return "success";
}}</span>

list文件

<span style="font-size:18px;"><%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
通过EL访问
${username }-->${password }
<h1>------------------list -----------------</h1>
通过struts标签访问
<span style="background-color: rgb(204, 0, 0);"><s:property value="#request.username"/>--><s:property value="#request.password"/></span>
</body>
</html></span>

获取的三种方式

1.通过seter和geter方法接受并传递

2.通过ActionContext.getContext().put("username", "flyou");传递参数

3.通过 ServletActionContext.getRequest.setAttribute("","")传值

时间: 2024-10-10 21:10:15

struts开发<struts中的参数传递.三>的相关文章

struts开发&amp;lt;struts中的action详细配置. 二&amp;gt;

在eclipse中新建项目StrutsDemo1[struts的配置见]struts开发<在eclipse中配置struts. 一> 详细文件夹结构例如以下 第一种配置方法 新建UserAction package fzl.user.struts.demo; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { public String list(){ Sys

struts开发&lt;struts中的action具体配置. 二&gt;

在eclipse中新建项目StrutsDemo1[struts的配置见]struts开发<在eclipse中配置struts. 一> 具体目录结构如下 第一种配置方法 新建UserAction package fzl.user.struts.demo; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { public String list(){ System

struts.xml文件中action配置、OGNL的投影映射、OGNL表达式的符号

在struts.xml文件中不同的action配置,请求的路径是不一样的 1.请求 path = user!query.action; 配置如下: <action name="user" class="com.bwf.code.action.UserAction"> <result name="queryUser">/query.jsp</result> </action> 2.请求path = u

struts开发&amp;lt;在eclipse中配置struts. 一&amp;gt;

1.获取struts的jar包 1.1首先在http://struts.apache.org/download.cgi#struts23163这里下载 struts的文件包(选择struts-2.3.16.3-all) 1.2解压得到例如以下的目录 apps目录下是struts的一些官方样例 docs已久是官方api说明文档 lib包是struts全部的jar包 src则是一些样例的资源文件 注意:接下来我们须要取得我们须要的jar包,而不是lib文件夹下所有的jar文件,假设所有导入有可能会发

配置struts时web.xml中&lt;url-pattern&gt;*.action&lt;/url-pattern&gt;

<filter>    <filter-name>struts2</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping>    <filter-name>struts2</fil

struts开发&lt;在eclipse中配置struts. 一&gt;

1.获取struts的jar包 1.1首先在http://struts.apache.org/download.cgi#struts23163这里下载 struts的文件包(选择struts-2.3.16.3-all) 1.2解压得到如下的文件夹 apps文件夹下是struts的一些官方例子 docs已久是官方api说明文档 lib包是struts所有的jar包 src则是一些例子的资源文件 注意:接下来我们需要取得我们需要的jar包,而不是lib目录下所有的jar文件,如果全部导入有可能会发生

2、Struts中的action

Struts2中的Action是一个纯java对象 默认的action会执行execute方法 2.1访问不同的方法 1.可以为action设置多个method,之后在struts.xml文件中配置这些action所对应的方法 2.只是写一个action,通过一些特殊的方法来进行访问 以上操作问题是:需要为不同的方法设定不同的返回值.这个名称不好统一 3.使用通配符的方式 在开发中一般都使用通配符的方式(这样可以大大减少action的配置) 2.2.一些常量的配置 可以通过<constant>

SSH框架中struts开发环境搭建

Myeclipse中搭建struts开发环境主要分为4个步骤: 一.找到开发struts应用所需要用的jar包 1.到网站http://struts.apache.org/download.cgi#struts2014下载struts的源码,此处笔者下载的为2.3.16.3版 2.解压缩下载的struts压缩包,找到需要添加到项目中的最核心的jar包,不同的struts所需要的最少jar包是不一样的,这里可以到doc文件中查找,create-struts-2-web-application-wi

struts+spring action应配置为scope=&quot;prototype&quot;

truts+spring action应配置为scope="prototype" <bean id="personAction" scope="prototype" class="quickstart.action.PersonAction"> <constructor-arg ref="personService" /></bean> 在配置文件中,bean默认是单例模