上QQ阅读APP看书,第一时间看更新
16.6 完成查看用户详细信息模块
16.6.1 创建查看用户详细信息控制器
新建业务控制器ShowUserAction,该Action负责取得指定ID的用户信息,将所得用户信息储存在request范围中,代码如下所示。
package net.hncu.action; import net.hncu.po.User; import net.hncu.service.UserService; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class ShowUserAction extends ActionSupport { private int id; //业务逻辑组件 private UserService userService; //设置业务逻辑组件 public void setUserService(UserService userService) { this.userService = userService; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String execute() throws Exception { //通过调用业务逻辑组件获得该ID的用户 User user = userService.queryUserByID(id); //将所得用户信息存储在request范围中 ServletActionContext.getRequest().setAttribute("user", user); return SUCCESS; } }
16.6.2 创建查看用户详细信息显示页
新建用户详细信息显示页,该页面用来显示用户的详细信息,代码如下所示。
<%@page contentType="text/html; charset=gb2312"%> <%@taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>用户详细信息</title> </head> <body> <center> <h2>用户详细信息</h2> <table border="1"> <s:set name="user" value="#request.user"/> <tr> <td>用户ID</td> <td><s:property value="#user.id"/></td> </tr> <tr> <td>用户名</td> <td><s:property value="#user.username"/></td> </tr> <tr> <td>密码</td> <td><s:property value="#user.password"/></td> </tr> <tr> <td>年龄</td> <td><s:property value="#user.age"/></td> </tr> <tr> <td>出生日期</td> <td><s:property value="#user.birth"/></td> </tr> <tr> <td>电子邮箱地址</td> <td><s:property value="#user.email"/></td> </tr> </table> <a href="showAll.action">返回用户列表</a> </center> </body> </html>
16.6.3 配置用户详细信息控制器
在Spring配置文件中配置业务控制器showUserAction,并为其注入业务逻辑组件,代码如下所示。
<! -- 创建showUserAction实例 --> <bean id="showUserAction" class="net.hncu.action.ShowUserAction" scope="prototype"> <property name="userService" ref="userService"></property> </bean>
在struts.xml文件中配置showUserAction,并定义处理结果与视图资源之间的关系,代码如下所示。
<action name="showUser" class="showUserAction">
<! -- 定义处理结果与视图资源之间的关系-->
<result name="success">/showUser.jsp</result>
</action>
16.6.4 测试查看用户详细信息
在用户列表中单击用户ID上的链接,页面将跳转到用户详细信息显示页,显示出用户的详细信息,如图16.3所示。
图16.3 查看用户详细信息