Java下Struts框架中的ActionForm类是用于从客户端浏览器向服务器端传递数据的载体。这个类作为中介,把客户端提交的数据(如表单数据)封装为一个JavaBean对象,然后该Bean就可以在服务器端通过Struts框架进行处理。
下面是ActionForm的使用步骤:
1. 定义ActionForm类
ActionForm类需要继承org.apache.struts.action.ActionForm类,并指定Bean在Struts配置文件中的名称:
public class LoginForm extends ActionForm {
private String username;
private String password;
// getter和setter方法
}
2. 在struts-config.xml配置文件中配置ActionForm类
在struts-config.xml文件中的
<form-beans>
<form-bean name="loginForm" type="com.example.LoginForm"/>
</form-beans>
3. 在JSP页面中引用ActionForm类
可以使用Struts标签库中的
<html:form action="/login">
<bean:message key="label.username"/>:<html:text property="username"/><br/>
<bean:message key="label.password"/>:<html:password property="password"/><br/>
<html:submit value="Login"/>
</html:form>
示例:使用ActionForm接收表单数据
下面是一个示例,展示如何使用ActionForm类来接收从表单提交的数据。
首先,在JSP页面中创建一个表单:
<html:form action="/login">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Submit">
</html:form>
然后,在struts-config.xml文件中配置该Action对应的ActionForm类:
<form-beans>
<form-bean name="loginForm" type="com.example.LoginForm"/>
</form-beans>
接着,在Action类的execute()方法中获取ActionForm类的实例,并从中获取表单数据:
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm = (LoginForm) form;
String username = loginForm.getUsername();
String password = loginForm.getPassword();
// 处理表单数据
}
}
示例:使用ActionForm对象向客户端显示数据
下面是另一个示例,展示如何将ActionForm对象中的数据传输回JSP页面进行显示。
首先,在Action类中创建一个ActionForm对象,设置它的属性:
public class ShowDataAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ShowDataForm showDataForm = new ShowDataForm();
showDataForm.setUsername("John Doe");
showDataForm.setEmail("johndoe@example.com");
request.setAttribute("showDataForm", showDataForm);
return mapping.findForward("success");
}
}
然后,在JSP页面中使用
Username: <bean:write name="showDataForm" property="username"/><br>
Email: <bean:write name="showDataForm" property="email"/><br>
以上是使用Java下Struts框架中的ActionForm类的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java下Struts框架中的ActionForm类详解 - Python技术站