Struts2的自动封装注入
来源:互联网 发布:maxwell软件介绍 编辑:程序博客网 时间:2024/06/06 03:56
我们在使用struts2进行从前台到后台的数据传递时(当然这里是在结合了form表单的情况下),我们通常会给input框中的name属性赋值,然后在后台action中提供setter/getter方法就可以完成数据的传递(在jquery中使用ajax的时候要记 得$("form").serialize()给表单的数据序列化)。这种方式用起来虽然很顺手,但是还有一种更加方便的方法,就是使用struts2的 自动封装,且看具体做法:
1.在后台创建一个实体类(实体类中的属性要和前台的对应,请看下面前台.jsp的代码):public class User { private String id; private String uerName; private String password; private String idCard; private String address; private String sex; private String email; private String phone; //下面为各个属性提供setter/getter方法,这里不再展示}2.创建一个action类(提供User实体类的setter/getter方法):
public class UserAction extends ActionSupport { private static final long serialVersionUID = 1L; private User user; HttpServletRequest request; HttpServletResponse response; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public UserAction(){ response = ServletActionContext.getResponse(); request = ServletActionContext.getRequest(); } public void addUser(){ System.out.println("####"+user.getUerName());//在这里可以看的到输出结果 try { response.getWriter().print("ok"); } catch (IOException e) { e.printStackTrace(); }; }}3.创建一个addUser.jsp页面:
<%@ 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>My JSP 'addUser.jsp' starting page</title></head><body> <div id="addBox"> <form id="addUser" method="POST"> <div id="uID"><!-- 注意在input框里面的name值为对象点属性,这里的点属性一定要和User实体类里面的的属性相同 --> <label class="tip">用户编号:</label><span class="field"><input name="user.id" type="text"></span> </div> <div id="uName"> <label class="tip">用户名:</label><span class="field"><input name="user.uerName" type="text"></span> </div> <div id="uPassword"> <label class="tip">密码:</label><span class="field"><input name="user.password" type="password"></span> </div> <div id="uidCard"> <label class="tip">身份证号:</label><span class="field"><input name="user.idCard" type="text"></span> </div> <div id="uEmail"> <label class="tip">邮箱:</label><span class="field"><input name="user.email" type="text"></span> </div> <div id="uPhone"> <label class="tip">联系方式:</label><span class="field"><input name="user.phone" type="text"></span> </div> <div id="uAddress"> <label class="tip">住址:</label><span class="field"><input name="user.address" type="text"></span> </div> <div id="uSex"> <label class="tip">性别:</label><span class="field"> <label><input name="user.sex" type="radio" value="男">男</label> <label><input name="user.sex" type="radio" value="女">女</label> </span> </div> <div id="btn"> <button id="addBtn">添加</button> </div> </form> </div></body><script type="text/javascript" src="script/jquery-1.11.3.min.js"></script><script type="text/javascript"> $("#addUser").submit(function(){ var ajax_url = "users_addUser.action"; //表单目标 var ajax_type = $(this).attr('method'); //提交方法 var ajax_data = $(this).serialize(); $.ajax({ url:ajax_url, type:ajax_type, data:ajax_data, success:function(data){ if(data=="ok"){ alert("添加成功"); }else{ alert("添加失败"); } }, error : function() { alert("网络错误"); } }); return false; //阻止表单的默认提交事件 });</script></html>
注意事项:前台的input框里面的name值切记要和实体类里面对应,并且在action中为实体类提供setter/getter方法;
原文链接:Struts2的自动封装注入
阅读全文
0 0
- Struts2的自动封装注入
- struts2的自动封装
- 解决struts2自动注入属性的错误
- 基于struts2的form自动封装
- SpringMvc的自动注入与Struts2的区别
- struts2 中 action 属性自动注入的发现
- struts2自动封装ajax提交过来的数据
- Struts2数据的封装
- Struts2的参数封装
- 封装的线程注入类
- Spring的自动注入
- SSH整合问题:struts2-spring-plugin自动注入action的属性所产生的问题
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- struts2与Spring3集成中Action的自动装配不起作用 annotation注入不起作用
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- 有关专注的笔记
- OpenGL学习笔记之创建窗口
- Oracle-SQL
- BeanUtils.copyProperties()方法和PropertyUtils.copyProperties()的区别 [转]
- HDU
- Struts2的自动封装注入
- 广度优先搜索(入门)
- c++ 输入cin>> get() getline()
- Math对象常用属性与方法详解
- ubuntu系统cmake升级
- HDOJ2108 判断凸多边形
- 汪国新、尼玛泽仁、郑桂兰等58位艺术家参与诗书画意颂中国深圳行采风
- dede arclist里field:body的调用方法
- Linux JDK安装和坏境变量配置