页面表单
<form action="updateInput.action" method="post">
<input type="text" name="id"/>
<input type="submit" value="查询">
</form>
struts.xml配置
<action name="updateInput" class="com.test.UserAction" method="updateInput">
<result name="update_input">user_update.jsp</result>
</action>
com.test.UserAction
public class UserAction implements ModelDriven {
private User user;
@Override
public Object getModel() {
if (user == null) {
user = new User();
}
return user;
}
public String updateInput() {
//测试ModelDriven陷阱
// 根据ID,查询数据库,得到User对象
Object object = ActionContext.getContext().getValueStack().findValue("#root");
Connection connection = DBConnection.getConnection();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
User user1 = null;
try {
System.out.println("查询用户信息");
preparedStatement = connection
.prepareStatement("select * from t_user where id = ?");
preparedStatement.setInt(1, user.getId());
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
user1 = new User();
user1.setId(resultSet.getInt("id"));
user1.setUsername(resultSet.getString("username"));
user1.setPassword(resultSet.getString("password"));
// user = user1;//这样写有问题
//值栈中的user并没有引用user1,所以在页面上取值实际上并没有取到user1的值。
//将user1的属性copy到user中之后,就可以在页面上取到值了。
BeanUtils.copyProperties(user, user1);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
DBConnection.close(resultSet, preparedStatement, connection);
}
return "update_input";
}
}
user_update.jsp
<form action="user_update.action" method="post">
<input type="hidden" name="method:update">
id:<input type="text" name="id" value="<s:property value="id"/>"> <br/>
username:<input type="text" name="username" value="<s:property value="username"/>"> <br/>
password:<input type="text" name="password" value="<s:property value="password"/>"> <br/>
<input type="submit" name="submit" value="更新用户">
</form>
分享到:
相关推荐
Struts2_ModelDriven接收参数(项目案例及视频) 初学者必备.
NULL 博文链接:https://diaochenlong2.iteye.com/blog/1829436
刚开始学struts2时,自己写的小工程。
struts2中action实现ModelDriven后无法返回json的解决方法,需要的朋友可以参考一下
ModelDriven用法 拦截器 struts2
Struts2_Action学习笔记、通配符{1},{2}......
6.7.2 Struts 2中常用的表达式语言特性 131 6.7.3 表达式语言的高级特性 135 6.8 小结 137 第7章 UI组件标签 139 7.1 为什么需要UI组件标签 139 7.2 标签、模板和主题 144 7.2.1 标签 146 7.2.2 模板 146 7.2.3 ...
2.struts2_2 validationl,ModelDriven,properties 3.struts2_interceptor 拦截器,自定义拦截器 4.struts2_log4j 5.struts2_spring struts spring 整合 以上功能包含完整示例代码 Eclipse Java EE IDE for Web ...
struts2的ModelDriven和Prepareable接口使用demo,包括显示数据,增加数据,删除数据和修改数据
自己的总结 还很不全面希望对你您有用 主要是控制url
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...
纯Struts2 struts-2.3.16.1版本下的demo,1、Struts2标签 2、Action 3、ActionSupport中validate 4、prepare 5、modeldriven 6、国际化 7、Token 8、拦截器
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...
b.XXaction中该对象返回个给实现对象ModelDriven的泛型, 即action中下面方法 return的model 对象引用 public OperatingConditionsEntity getModel() { return model; } 2.加#号的放置获取,放置在制定域...
public class UserAction implements ModelDriven{ private User user = new User(); public User getModel() { return user; } public String getUsers(){ System.out.println(user.getUserName()); ...
IBM基于模型等项目开发ibm_modeldriven2
Spring4.0、Struts2.3.15、Hibernate4.2.4、jQuery1.9.1涉及到了诸多开发时的细节:ModelDriven、Preparable 拦截器、编写自定义的类型转换器、Struts2 处理 Ajax、OpenSessionInViewFilter、迫切左外连接、Spring ...
参考一下链接,修改了下,做了个例子 http://shiningwu.javaeye.com/blog/184117 差别在于action没有继承ModelDriven,并且把所有需要的jar包都打包了,实现了登陆,修改,删除,一览功能 工具为mysql + tomcat6
Java详解ModelDriven和Preparable拦截器.doc