我们在使用struts的时候免不了生成大量的formBean,当有业务变化的时候还要修改大量的get、set方法,虽然IDE可以帮助生成这些get、set方法,但是数量多的时候也比较麻烦!最近因为工作的需要找到了新版本struts(1.2.7)的一些新加特性,这部分特性可以使你摆脱以前这些烦人的修改。下面我们可以看一些简单代码来了解这个新特性
//form.jsp
//*************************************************************
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page contentType="text/html; charset=GBK" %>
<html:html>
<head>
<title>
Jsp
</title>
</head>
<body>
<html:form action="dynaAction.do" method="POST">
编号: <html:text property="custNo"/>
姓名: <html:text property="custName"/>
地址: <html:text property="address"/>
年龄: <html:text property="age"/>
e-mail: <html:text property="email"/>
电话: <html:text property="tel"/>
<html:submit property="submit" value="Submit"/><br>
<html:reset value ="Reset"/>
</html:form>
</body>
</html:html>
jsp页面没有变化,主要变化的是FormBean和ActionBean的使用,我们来看FormBena 的变化
//formbean(dynaActionFm.java)
//*******************************************************************
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.validator.*;
public class dynaActionFm extends LazyValidatorForm {
//以前的版本继承ActionForm,现在本例继承了LazyValidatorForm
public ActionErrors validate(ActionMapping actionMapping,
HttpServletRequest httpServletRequest) {
/** @todo: finish this method, this is just the skeleton.*/
return null;
}
public void reset(ActionMapping actionMapping,
HttpServletRequest servletRequest) {
}
}
//*******************************************************************
在FormBean中省略一切的set、get,如果你愿意连这个文件也可以省略掉,只要在strurs-config.xml加入描述既可(不是get、set的描述)
大家也许在想struts1.1中开始有了DynaActionForm,也可以不用写那么多的set、get,只要在配置文件(struts-config.xml)中加入相应的属性配置也可以啊,我们这里可以连配置文件都不用写了! 具体的类介绍可查阅这里(http://www.niallp.pwp.blueyonder.co.uk/)
下面看action的使用
//ActionBean(dynaAction.java)
//*******************************************************************
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import org.apache.commons.beanutils.DynaBean;
import java.util.Map;
public class dynaAction
extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
DynaBean dynaForm = (DynaBean)actionForm;//转换为dynaBean,以前的是ActionForm
String custNo = (String)dynaForm.get("custNo");
String custName = (String)dynaForm.get("custName");
String address = (String)dynaForm.get("address");
//.......do someting
//原来的使用是form.getXXXXX(),现在是form.get("XXXXX")
return actionMapping.findForward("listview");//显示页面
}
}
//*******************************************************************
从上面可以看出来,lazyBean实现了自动映射,还可以自动实现反射
这样的话你的FormBean成为了正在的动态的了,表单增加,在你的Action中就可以使用
还有不同情况、不同方式的使用,具体可以看http://www.niallp.pwp.blueyonder.co.uk/了解
下面附struts-config.xml
//struts-config.xml
//*******************************************************************
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="dynaActionFm" type="welcome.dynaActionFm" />
</form-beans>
<action-mappings>
<action name="dynaActionFm" path="/dynaAction" scope="request" type="welcome.dynaAction">
<forward name="listview" path="/listJsp.jsp" />
</action>
</action-mappings>
<message-resources parameter="ApplicationResources" />
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
</struts-config>
分享到:
相关推荐
10. **Plug-in架构**:Struts 允许开发者通过插件扩展其功能,这些插件可以在不修改核心框架的情况下增加新的特性或服务。 通过研究 Struts 1.2.7 的源码,开发者不仅可以理解 MVC 模式在实际应用中的运作方式,还...
Struts1.2.7帮助文档(英文),Struts API 文档
然而,随着技术的发展,Struts 1.2.7逐渐被更新的版本如Struts 2所取代,因为后者引入了更多现代的特性,如注解、拦截器等。Struts 2也解决了Struts 1的一些设计上的局限性,提供了更强大的功能和更高的可扩展性。 ...
java框架strus的开发文档,比较好用,亲测可用,共享给大家,如需其它资源请点击进入下载。都是使用过可用的
Struts1.2.7API CHM
1.2.7版本是在2007年发布的,修复了一些已知问题并引入了新特性。以下是一些关于Struts 1.2.7的知识点: 1. **核心组件**:Struts 1的核心组件包括Action、Form Bean、Action Mapping、Action Forward、Plug-In和...
在网上想找一个strus1的关于json的使用例子,但是找了半天找不到,最后狠下心自己写了一个,使用的是谷歌的Gson,前台技术jQuery,后台struts1.2.7。希望能帮上那些急需相关知识的初学者。谢谢大家...
struts-1.2.7.zip源代码,struts-1.2.7.zip源代码,很详细,struts-1.2.7.zip源代码,很详细,struts-1.2.7.zip源代码,很详细,struts-1.2.7.zip源代码,很详细,struts-1.2.7.zip源代码,很详细,struts-1.2.7.zip...
在Struts 1.2.7版本中,这个"lib"目录下的文件主要包括以下几个关键部分: 1. **核心库**:`struts-core.jar`包含了Struts框架的核心组件,如Action、Form Bean、Request Processor等。这些组件协同工作,实现了...
Struts 1.2.7 源码与 Apache Tomcat 5.5.27 源码是两个非常重要的 Java Web 开发中的开源组件。它们分别代表了 MVC(Model-View-Controller)框架和应用服务器的核心部分,对于深入理解 Java Web 应用的运行机制具有...
首先,让我们来探讨一下Struts框架的核心特性: 1. **MVC架构**:Struts作为MVC框架,将业务逻辑、数据模型和用户界面分离,使得开发者能够更高效地进行开发和维护。在这个版本中,Action类是控制器的主要实现,它...
Struts是Apache软件基金会下的一个开源项目,主要提供MVC(Model-View-...阅读Struts1.pdf文档,将帮助你掌握Struts1的基础知识,而struts2中文教程.chm将引导你进入Struts2的世界,深入学习其高级特性和最佳实践。
首先,我们来看一下`struts-1.2.7-lib`这个目录下的文件,它们主要包括以下几个部分: 1. **核心库**:Struts的核心库文件如`struts-core.jar`,包含了框架的核心组件,如Action、Form、PlugIn、RequestProcessor等...
Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的主要目的是为了简化Web应用开发过程,提高开发效率,使得开发者可以更专注于业务...
sbt-1.2.7windows最新安装包,Scala编译插件
Struts2是一个强大的Java Web应用程序框架,用于构建和部署可维护、高性能的MVC(Model-View-Controller)架构的应用程序。它简化了开发过程,提供了丰富的插件和功能,使得开发者可以更专注于业务逻辑而不是底层...
首先,`Struts1.2.7.CHM`文件可能是Struts1.2.7版本的官方文档,包含详细的API参考、教程和指南。在其中,你可以找到关于Action、Form Bean、Action Mapping、Request Processor等核心组件的信息,以及Interceptor、...
jtds-1.2.7驱动支持多种特性,包括事务处理、批处理、预编译语句、存储过程调用等。此外,它还具备良好的兼容性,可以适应不同的SQL Server版本,包括SQL Server 2000至2019。同时,由于jtds的体积小,对资源消耗较...
这个版本1.2.7可能是对先前版本的改进,修复了错误,增加了新功能,或者优化了性能。用户在安装前,应先阅读readme文件,了解软件的要求、安装步骤以及可能遇到的问题。 软件安装过程中,用户需要注意的事项可能...
免费软路由Vyos-1.2.7官方最新稳定版,用了10多年了,稳就一个字