之前一直用的是这样的:
在Action中getter和setter方法的变量:是对象的话(如 user),JSP页面用:
User user = (User)request.getAttribute("user");
然后再用<%=user.getUserName()%>等等方法来获取其值。
如果是属性值得话(如username),JSP页面用
<%=request.getParameter("username")%>
还可以用如下的方法:
ServletActionContext.getRequest().getSession().setAttribute("SessionKey", "SessionValue");
在jsp中可以用如下方法获得:session.getAttribute("user");//这样的赋值方法可以使得user在所有的JSP页面都能获取到,而不仅仅是在跳转到得JSP页面中能够获得。
还有一种获取方式:JSP中的
${user.username}获取
还用一种:struts标签的方式,好像和上面的方法差不多。
<s:textfield name="user.username" label="用名"></s:textfield>
<s:textfield name="user.password" label="密码"></s:textfield>
<s:hidden name="user.id"></s:hidden>
如果是List的对象的话,除了session和request.getAttribute("userList")的方式外,struts标签还可以这么用:
<s:iterator value="userList">
<tr >
<td>
<a href='<s:url action="getUser" ><s:param name="id" value="id" /></s:url>'>
修改
</a>
</td>
<td><s:property value="id"/></td>
<td><s:property value="name"/></td>
<td><s:property value="password"/></td>
<td><s:property value="address"/></td>
<td><a href='<s:url action="deleteUser"><s:param name="id" value="id" /></s:url>'>删除</a></td>
</tr>
</s:iterator>
在vm中是这样使用的:
#foreach($user in $userList)
<tr>
<td>
<a href="modify.do?id=$user.id"> 修改</a>
</td>
<td>${user.id} </td>
<td>${user.username}</td>
<td>${user.address}</td>
<td>
<a href="delUser.do?id=${user.id}">删除</a>
</td>
</tr>
#end