Struts2学习笔记——ParamInput(参数的输入)
来源:互联网 发布:java多线程实现高并发 编辑:程序博客网 时间:2024/05/18 02:00
Struts2的参数传递可以简单分为三种。
第一种就是使用Action的属性来接收参数:
Struts.xml:
<?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="false" /> <package name="user" namespace="/user" extends="struts-default"> <action name="*_*" class="com.smile.struts2.front.action.{1}Action" method="{2}"> <result name="success"> /{1}_{2}_success.jsp </result> </action> </package></struts>我们可以写个带有属性的Action来接受参数:
UserAction:
package com.smile.struts2.front.action;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {private String name = "";public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}private int age = 0;public String add(){System.out.println("name:"+name+" age:"+age);return SUCCESS;}public String delete(){return SUCCESS;}}然后我们在index.jsp中访问的时候可以这么做:
<?xml version="1.0" encoding="GB18030" ?><%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><% String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><base href="<%=basePath %>"/><title>Insert title here</title></head><body>使用action属性接收参数<a href="user/User_add?name=a&age=8">添加用户</a></body></html>这种方式action就可以默认接收这个参数。
第二种方式我们使用domainModel(领域模型)来接收参数:
这里我们封装一下用User类来封装一下User的属性:
package com.smile.struts2.front.model;public class User {private String name = "";private int age = 0;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}然后修改UserAction:
package com.smile.struts2.front.action;import com.opensymphony.xwork2.ActionSupport;import com.smile.struts2.front.model.User;public class UserAction extends ActionSupport {private User user = null;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public String add(){System.out.println("name:"+user.getName()+" age:"+user.getAge());return SUCCESS;}public String delete(){return SUCCESS;}}在index.jsp中可以这样调用:
<?xml version="1.0" encoding="GB18030" ?><%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><% String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><base href="<%=basePath %>"/><title>Insert title here</title></head><body> 使用Domain Model接收参数<a href="user/User_add?user.name=a&user.age=8">添加用户</a></body></html>第三种方式使用模型驱动的参数接收:
这里我们修改UserAction实现一个接口:
package com.smile.struts2.front.action;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import com.smile.struts2.front.model.User;public class UserAction extends ActionSupport implements ModelDriven<User>{private User user = new User();public String add(){System.out.println("name:"+user.getName()+" age:"+user.getAge());return SUCCESS;}public String delete(){return SUCCESS;}public User getModel() {return user;}}然后在index.jsp中可以这样调用:
<?xml version="1.0" encoding="GB18030" ?><%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><% String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><base href="<%=basePath %>"/><title>Insert title here</title></head><body> 使用ModelDriven接收参数<a href="user/User_add?name=smile&age=8">添加用户</a></body></html>这三种的结果都是一样的。具体使用哪种方式根据情况而定。
0 0
- Struts2学习笔记——ParamInput(参数的输入)
- Struts2学习笔记(二)——请求参数的接收
- struts2学习笔记(5)——输入校验
- Struts2 入门学习笔记(四)——输入校验
- Struts2.0学习笔记 — 输入校验(Validation)
- struts2学习笔记(2)——简单的输入验证以及标签库的运用
- Struts2学习笔记(七)——Action处理请求参数
- 输入校验---struts2学习笔记
- Struts2学习笔记----输入校验
- Struts2 学习笔记 —— 10 —— Action接收参数时的中文乱码问题
- Struts2学习笔记6:Struts2输入检验
- Struts2学习笔记二——Struts2环境的搭建
- struts2的输入校验---笔记
- struts2学习笔记----用action的属性接受参数
- Struts2 学习笔记07 接收参数的三种方法
- struts2学习笔记 -- day04 ServletAPI、参数封装的方式
- Linux学习笔记之:脚本的输入参数
- Struts2学习——1200带参数的结果集
- HFSM,多层次状态机
- SeaJS
- nio学习1
- 阿姆斯特朗数
- 第16周项目1-数组的排序
- Struts2学习笔记——ParamInput(参数的输入)
- H3C telnet配置要点
- 9.3.2 用 IDisposable 接口清理资源
- Linux top命令监控CPU内存详解
- iOS 在viewController中监听Home键触发以及重新进入界面的方法
- 排序算法笔记-冒泡算法 Bubblesort
- Transformer入门教程(九)(TR0787)The locking of cube
- Spark的任务调度
- UML类图之间的关系