struts2接收参数的方法

来源:互联网 发布:朝阳区群众 知乎 编辑:程序博客网 时间:2024/05/21 10:23

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>










0 0