您的位置:首页 > 编程语言 > Java开发

struts2接收参数的方法

2016-01-28 21:17 471 查看
struts2接收参数的方法总共有三种

(1)通过属性接受参数(推荐使用)

(2)使用Domain Model来接受参数(推荐使用)

(3)使用ModelDriven来接受参数(并不常用)

struts.xml
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<package name="user" namespace="/user" extends="struts-default">
<action name="user" class="com.dqpi.eonline.UserAction">
<result>
/User_add_success.jsp
</result>
</action>
</package>
</struts>
</span>
User_add_success.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>user_add_success.jsp</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
user add success <br>
</body>
</html>
</span>


使用属性来接收参数:

index.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--此处使用了myeclipse中经常使用的basepath  -->
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<span style="color:#ff0000;">通过使用属性来接受参数<a href="user/user!add?name=a&age=10">添加用户</a></span>
</body>
</html>
</span>
UserAction.java

<span style="font-size:18px;">package com.dqpi.eonline;

import com.opensymphony.xwork2.ActionSupport;

/**
* 通过使用属性来接受参数
*
* @author Administrator
*
*/
public class UserAction extends ActionSupport {

private static final long serialVersionUID = 1L;
/**
* 定义属性name和age
*/
<span style="color:#ff0000;">private String name;
private int age;</span>

/**
* add方法,在控制台打印接受的参数的内容
* @return
*/
<span style="background-color: rgb(255, 255, 0);">public String add(){</span>
<span style="color:#ff0000;">System.out.println("name =" + name);
System.out.println("age =" + age);
return SUCCESS;</span>
}
/**
*
* 生成getter和setter方法
*/
<span style="background-color: rgb(255, 255, 0);">public String getName() {</span>
return name;
}

<span style="background-color: rgb(255, 255, 0);">public void setName(String name) {</span>
this.name = name;
}

<span style="background-color: rgb(255, 255, 0);">public int getAge() {</span>
return age;
}

<span style="background-color: rgb(255, 255, 0);">public void setAge(int age) {</span>
this.age = age;
}

}
</span>
使用domain model来接收参数

index.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--此处使用了myeclipse中经常使用的basepath  -->
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<span style="color:#ff0000;">通过使用Domain Model来接受参数<a href="user/user!add?user.name=a&user.age=10">添加用户</a></span>
</body>
</html>
</span>
UserAction.java

<span style="font-size:18px;">package com.dqpi.eonline;

import com.dqpi.eonline.model.User;
import com.opensymphony.xwork2.ActionSupport;

/**
* 通过使用Domain Model来接受参数
*
* @author Administrator
*
*/
public class UserAction<span style="color:#ff0000;"> extends ActionSuppor</span>t {

private static final long serialVersionUID = 1L;
/**
* 定义域模型對象
*/
<span style="color:#ff0000;">private User user;</span>
/**
* add方法,在控制台打印接受的参数的内容
* @return
*/
<span style="background-color: rgb(255, 255, 0);">public String add(){</span>
<span style="color:#ff0000;">System.out.println("name =" + user.getName());
System.out.println("age =" + user.getAge());
return SUCCESS;</span>
}
/**
*
* 生成getter和setter方法
*/
<span style="background-color: rgb(255, 255, 0);">public User getUser() {</span>
return user;
}
<span style="background-color: rgb(255, 255, 0);">public void setUser(User user) {</span>
this.user = user;
}

}
</span>
User.java

<span style="font-size:18px;">package com.dqpi.eonline.model;

public class User {
<span style="color:#ff0000;">private String name;
private int age;
</span>
<span style="background-color: rgb(255, 255, 0);">public String getName()</span> {
return name;
}

<span style="background-color: rgb(255, 255, 0);">public void setName(String name) </span>{
this.name = name;
}

<span style="background-color: rgb(255, 255, 0);">public int getAge() {</span>
return age;
}

<span style="background-color: rgb(255, 255, 0);">public void setAge(int age) {</span>
this.age = age;
}
}
</span>
使用model driven来接收参数

UserAction.java

<span style="font-size:18px;">package com.dqpi.eonline;

import com.dqpi.eonline.model.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

/**
* 通过使用Domain Model来接受参数
*
* @author Administrator
*
*/
public class UserAction extends ActionSupport<span style="color:#ff0000;"> implements ModelDriven<User></span>{

private static final long serialVersionUID = 1L;
/**
* 定义域模型對象
*/
<span style="color:#ff0000;">private User user = new User();</span>
/**
* add方法,在控制台打印接受的参数的内容
* @return
*/
public String add(){
<span style="color:#ff0000;">System.out.println("name =" + user.getName());
System.out.println("age =" + user.getAge());</span>
return SUCCESS;
}

@Override
<span style="background-color: rgb(255, 255, 0);">public User getModel() {</span>
// TODO Auto-generated method stub
<span style="color:#ff0000;">return user;</span>
}

}
</span>


User.java

<span style="font-size:18px;">package com.dqpi.eonline.model;

public class User {
<span style="color:#ff0000;">private String name;
private int age;
</span>
<span style="background-color: rgb(255, 255, 0);">public String getName()</span> {
return name;
}

<span style="background-color: rgb(255, 255, 0);">public void setName(String name) </span>{
this.name = name;
}

<span style="background-color: rgb(255, 255, 0);">public int getAge() {</span>
return age;
}

<span style="background-color: rgb(255, 255, 0);">public void setAge(int age) {</span>
this.age = age;
}
}</span>


index.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--此处使用了myeclipse中经常使用的basepath  -->
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<span style="color:#ff0000;">通过使用Model Driven来接受参数<a href="user/user!add?name=a&age=10">添加用户</a></span>
</body>
</html>
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: