要將ActionForm與Struts標(biāo)簽庫集成,您需要遵循以下步驟:
確保您的項(xiàng)目中已經(jīng)包含了Struts庫。如果還沒有,請(qǐng)將Struts庫添加到項(xiàng)目的類路徑中。
在JSP頁面中,引入Struts標(biāo)簽庫。在頁面的頂部添加以下代碼:
<%@ taglib prefix="s" uri="/struts-tags" %>
這將導(dǎo)入Struts標(biāo)簽庫,并允許您在頁面中使用<s>
前綴。
org.apache.struts.action.ActionForm
。例如,創(chuàng)建一個(gè)名為MyForm
的類:import org.apache.struts.action.ActionForm;
public class MyForm extends ActionForm {
private String fieldName1;
private int fieldValue1;
// Getter and Setter methods for fieldName1 and fieldValue1
}
struts-config.xml
)中,為剛剛創(chuàng)建的ActionForm類配置一個(gè)表單Bean。例如:<form-beans>
<form-bean name="myForm" type="com.example.MyForm" />
</form-beans>
<s>
標(biāo)簽的JSP頁面配置一個(gè)Action。例如,創(chuàng)建一個(gè)名為MyAction
的類:import org.apache.struts.action.Action;
public class MyAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
MyForm myForm = (MyForm) form;
// Process the form data
return mapping.findForward("success");
}
}
struts-config.xml
中,為MyAction
類配置一個(gè)URL映射。例如:<action-mappings>
<action path="/myAction" type="com.example.MyAction" name="myForm" scope="request" />
</action-mappings>
<s>
標(biāo)簽創(chuàng)建表單元素,并將name
屬性設(shè)置為ActionForm類中的屬性名稱。例如:<s:form action="myAction">
<s:textfield name="fieldName1" label="Field 1" />
<s:textfield name="fieldValue1" label="Field 2" />
<s:submit value="Submit" />
</s:form>
現(xiàn)在,當(dāng)用戶提交表單時(shí),Struts會(huì)將表單數(shù)據(jù)綁定到MyForm
類的實(shí)例,并將其傳遞給MyAction
類進(jìn)行處理。