a.编写jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="html" uri="http://jakarta.apache.org/struts/tags-html" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <table boder="1" bordercolor="green" width="100%"> <html:form action="/general.do?method=loadArea" method="post"> <tr> <td>用户名:</td> <td> <html:text property="value(name)"></html:text> </td> </tr> <tr> <td>密码:</td> <td> <html:text property="value(password)"></html:text> </td> </tr> <tr> <td colspan="2"> <html:submit value="submit"></html:submit> </td> </tr> </html:form> </table> </body> </html>
b.编写一个ActionForm
package com.hsp.form; import java.util.HashMap; import java.util.Map; import org.apache.struts.action.ActionForm; public class MapForm extends ActionForm{ private Map<String, Object> myMap = new HashMap<String, Object>(); public void setValue(String key, Object value){ if(key != null && value != null){ myMap.put(key, value); } } public Object getValue(String key){ if(key != null){ return myMap.get(key); }else{ return null; } } }
c.编写Action
package com.hsp.action; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.hsp.bean.Area; import com.hsp.form.MapForm; public class GeneralAction extends DispatchAction{ public ActionForward loadArea(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MapForm mapForm = (MapForm)form; String name = (String)mapForm.getValue("name"); String password = (String)mapForm.getValue("password"); String name2 = request.getParameter("value(name)"); //也可以这么取值 // String password = request.getParameter("password"); System.out.println("name2:"+name2); System.out.println(name); System.out.println(password); List<Area> areas = new ArrayList<Area>(); Area area1 = new Area("hubei", "湖北"); Area area2 = new Area("hunan", "湖南"); Area area3 = new Area("guangdong", "广东"); Area area4 = new Area("sichuan", "四川"); areas.add(area1); areas.add(area2); areas.add(area3); areas.add(area4); request.setAttribute("areas", areas); return mapping.findForward("success"); } }
相关推荐
charset=UTF-8" language="java" %><br/><%@ taglib uri="/WEB-INF/Struts-bean.tld" prefix="bean" %><br/><%@ taglib uri="/WEB-INF/Struts-html.tld" prefix="html" %><br/><html:html locale="true"><br/><head>...
本示例将深入探讨如何在Struts2中实现验证,特别是使用FormBean和XML配置进行验证。 首先,`struts2 bean验证`指的是在Struts2框架中对Action类中的Java Bean(通常称为FormBean)进行验证。FormBean是用于接收、...
- `<jsp:setProperty name="user" property="name" param="mUserName"/>`将表单中名为`mUserName`的数据绑定到`UserBean`的`name`属性。 - `<jsp:getProperty name="user" property="name"/>`获取并显示`UserBean`...
Struts1.2框架是Java Web开发中广泛使用的MVC(模型-视图-控制器)框架,它极大地简化了Web应用程序的开发。在这个例子中,我们将深入探讨如何在Struts1.2中实现动态FormBean并添加验证功能。 首先,让我们理解什么...
- `<init-param>`: 设置了初始化参数`contextConfigLocation`,用于指定Spring MVC配置文件的位置。 - `<load-on-startup>`: 设置了该Servlet在启动时加载的优先级,数字越小优先级越高。在这里设置为2表示在...
这只是一个基础示例,实际项目中,你可能需要处理更复杂的业务逻辑,使用更多的Struts2特性,如Interceptor、Result类型、FormBean等。继续学习Struts2的官方文档和教程,可以帮助你更好地理解和掌握这个框架。
`<html:select>`通常与`<html:option>`标签一起使用,后者用于定义每个可选项。 #### 二、设置默认选中的选项 为了设置`<html:select>`中的默认选中项,可以通过以下两种方式实现: 1. **通过`<html:option>`标签...
为了传递多个参数给下一个页面,可以在DTO对象中使用一个Map来存储这些参数,并将该DTO对象添加到一个List中。然后,在JSP页面上使用`<logic:iterate>`和`<html:link>`标签来生成带有参数的链接。 **DTO:** ```java...
在服务器端接收到数据后,可以将String数组与formbean绑定,存储在数据库或其他持久化机制中。如果需要,也可以将更新后的数据回传给前端,以便重新渲染表格。 总之,JavaScript表格的行列动态添加是网页交互设计中...
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.Action...
<param name="formBean">someForm</param> <forward name="success" path="/result.jsp"/> </action> ``` 这种方式下,`someForm`表单被多个Action共享。这意味着当用户提交表单时,第一个Action处理请求,并可能...
`<signatures>`部分用于定义Java方法的签名,特别是当方法参数类型复杂时,需要指定完整的参数类型以便正确调用。 总结起来,DWR的`dwr.xml`配置文件是实现JavaScript与Java之间交互的核心,它详细定义了哪些Java...
要使用StrutsDynForm,首先需要在Struts配置文件(struts-config.xml)中配置相应的Action和FormBean。Action通常会处理HTTP请求,而FormBean则用来封装表单提交的数据。配置示例如下: ```xml <action path="/...
- **非侵入性**: 开发者可以直接使用POJO(Plain Old Java Object)作为Action类,无需继承特定的基类。 - **拦截器机制**: 提供了一种灵活的方式来扩展框架的功能。 - **结果类型**: 可以通过不同的结果类型来控制...
- `<init-param>`:通过`config`参数指定`struts-config.xml`的路径。 - `<load-on-startup>`:设置`ActionServlet`在Web应用启动时自动加载。 2. **其他配置**:除了安装`ActionServlet`外,还可以在`web.xml`中...
<input type="password" name="password"><br/> <input type="text" name="email"><br/> <input type="submit" value="注册"> </form> ``` 这段代码展示了如何使用HTML表单收集用户的信息,并提交到`Register....
<filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-...
这意味着开发者不再需要为每个表单单独创建FormBean类,而是可以通过在Action类中直接定义VO(Value Object)对象,并利用Struts2强大的OGNL表达式来实现数据绑定。这种变化不仅减少了代码量,还提高了代码的可读性...
FormBean是STRUTS中用于接收用户输入的数据对象。在“struts-config.xml”中添加新的FormBean定义。使用IDE的“New → Form, Action and JSP”功能,设置User case和FormImpl类型,如DynamicFormBean。为表单字段...