[英]Pass object from JSP to a action class in Struts 1.3
我想將對象從JSP傳遞到動作類。 怎么做? 我對此一無所知。 我的一些示例代碼在這里:
<tr class="alt">
<td><html:link href=""><bean:write name="EmpInfo" property="empId" /></html:link></td>
<td><bean:write name="EmpInfo" property="empName" /></td>
<td><bean:write name="EmpInfo" property="empAddress" /></td>
<td><bean:write name="EmpInfo" property="empPhNumber" /></td>
<td><bean:write name="EmpInfo" property="empEmailId" /></td>
<td><bean:write name="EmpInfo" property="empLocName" /></td>
<td><bean:write name="EmpInfo" property="empCountryName" /></td>
<td><bean:write name="EmpInfo" property="empDob" /></td>
<td><html:link href=""><bean:message key="view.single.emp.update"/></html:link></td>
</tr>
在上述代碼中的<html:link href="">
標簽中,我想將empId
或對象EmpInfo
給操作類。 這里的EmpInfo
是值對象,並且其中包含所有的getter和setter方法。
Struts的控制流程如下:
因此,如果轉發到JSP,則不會再次將控件直接傳遞給另一個動作,但是在發送來自用戶瀏覽器的新請求之后,將調用下一個動作。
因此,傳遞對象的唯一方法是將其屬性作為請求參數傳遞(首選GET或POST)。
通過使用Struts 1.2+,您不必在ActionForm中僅具有String字段。 使用Java Beans約定讓操作中的對象引用它:
class MyActionForm extends ActionForm {
private MyBean myBean;
public MyBean getMyBean() {
if (myBean == null) {
myBean = new MyBean();
}
return myBean;
}
}
現在,您可以在JSP標記中使用myBean.property1訪問其屬性,並且名稱為myBean.property1的請求參數將被填充到該屬性中。
Struts 1.2+在內部使用Apache Commons BeanUtils,因此您可以將其Converters用於復雜類型。
通過setAttribute()
方法將您的對象添加到會話或請求對象中。 您可以通過getAttribute()
從動作類中獲取它。
使用html:param
標記,可以在html:link
標記的正文中使用
<html:link href=""><html:param name="empId"><bean:write name="EmpInfo" property="empId" /></html:param></html:link>
這是正確的工作代碼。 感謝@roman c幫助我
<td>
<html:link href="viewDetailInfo.do">
<html:param name="empId">
<bean:write name="empList" property="empId" />
</html:param>
<bean:write name="empList" property="empId" />
</html:link>
</td>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.