[struts]javaBean能否用ActionForm替代?在ActionForm中实例javaBean

青蛙 2005-12-05 09:43:11
第一个问题就是javaBean能否用ActionForm替代?
例如:
[javaBean文件]
public class javaBeanTest{
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
}

[ActionForm文件]
public class actionFormTest extends ActionForm{
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void reset(){
this.name = null;
}
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){
}
}
拿这个做测试,把javaBeanTest用actionFormTest替换编译没出错,而且页面调用也正常(数据原本存在javaBean中,页面调用该属性)。但有一个疑问:
这样的话,javaBean可以用ActionForm替换?替换了之后有得有失?得什么?失什么?

另外一个问题(以上面描述为基础):
如果两者不能相互替换,而actionFormTest中的属性与javaBean的属性都相同,想在actionFormTest中实例这个javaBean,那页面中的<html:text property="这里应当怎么写?"/>?
若用代码说明,大致如下:
public class actionFormTest{
javaBeanTest jBT = new javaBeanTest();
public void reset(){
jBT.setName(null);
}
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){}
}
配置:
<form-beans>
<form-bean name="testForm" type="test.packs.actionFormTest"/>
</form-beans>
<action-mappings>
<action path="/test" name="testForm" type="test.packs.actionFormAction">
<forward......./>
</action>
</action-mappings>
jsp的页面:test.jsp
我用
<html:form action="test">
<nested:nest property="jBT">
<html:text properyt="name"/>
</nested:nest>
</html:form>

<html:form action="test">
<nested:nest property="javaBeanTest">
<html:text properyt="name"/>
</nested:nest>
</html:form>
都不行,不知道这种情况下的html:text应当怎么写?

高手帮我支支招,谢谢。
...全文
505 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
青蛙 2005-12-05
  • 打赏
  • 举报
回复
回蝈蝈:
请恕我不清楚域的概念是什么:$
我起初的思路是这样的:
我创建javaBean是用来存取数据库的数据,然后对应的存在这个javaBean里,这样在页面中只需要调用相应的属性名即可。不知道这个算不算你说的域对象?

如果是,那我要在ActionForm中要用到这些属性,是不是就要在ActionForm中实例这个对象,然后调用?
青蛙 2005-12-05
  • 打赏
  • 举报
回复
回 ljhyp_cn(香草山牧民) :
从你给出的定义来说,javaBean与actionForm的关系,在struts中,前者可以被后者替换,反之不行?在非struts中就不存这种关系?
如果按struts框架的意图,再加上我的意图,这里应当要用两个文件实现javaBean与ActionForm的关系,也就是说我需要一个javaBean文件,一个ActionForm文件,ActionForm中要调用javaBean的内容,就在其内部实例那个javaBean?

另外第二个问题根据你的提示,我有个疑问,就是实例那个testForm的用处是什么?并没有调用到,这里实例有什么意义?另:按照你的思路测试也不成功,我改成:
<html:form action="/test">
<jsp:useBean id="testForm" scope="request" class="test.packs.actionFormTest"></jsp:useBean>
<nested:nest property="testForm">
<html:text property="name"/>
</nested:nest>
</html:form>
也不成功。
会Java的蝈蝈 2005-12-05
  • 打赏
  • 举报
回复
FormBean是用来封装页面中的域的对象,而我们在domain中设计的对象是与数据库表对应的对象,我觉得你说的javabean就是指domain对象。他们不能彼此替代。通常FormBean会由一个或多个domain中的对象中的多个域组成。
咖啡 2005-12-05
  • 打赏
  • 举报
回复
actionform本身就是一个bean
ljhyp_cn 2005-12-05
  • 打赏
  • 举报
回复
<html:form action="/test">
<jsp:useBean id="testForm" scope="request" class="test.packs.actionFormTest"></jsp:useBean>
<nested:nest property="jBT">
<html:text properyt="name"/>
</nested:nest>
</html:form>
这样就ok
ljhyp_cn 2005-12-05
  • 打赏
  • 举报
回复
楼主:
从你给定两个class来看从使用上互换是没有区别的.
但是从概念上看是有区别的.actionform主要是用户标记form属性和form验证.同时也是struts结构中的一个节点.而验证只用是actionform的主要任务,当然,用户可以写其他的方法过程.但是这样已经背离struts框架的初衷了.
而javabean是所有java应用的都能用到.同时它和某个webform没有关联.也不是某种框架中之必不可少.javabean可以是属性对应,也可是是方法实现.它可以单个业务的描述,也可以是多个业务的描述.但是从规范和实际应用中,javabean基本上是单个或者关联对象的属性映射.
mxlmwl 2005-12-05
  • 打赏
  • 举报
回复
我给你的这两种做法是对立的,究竟取哪一种要看你自己情况而定。就正统的方式来讲,一般是推荐用第二种。而追求简单,效率,开发速度,一般会使用第一种。
mxlmwl 2005-12-05
  • 打赏
  • 举报
回复
第二个问题的写法是:<html:text properyt="jBT.name"/>

你的这个做法也是一个做法,不过就是在写javascript判断的时候有点麻烦,而且生成的form表单就是的name就是jBT.name,看起来有点怪怪的。而且这种做法其实就是把bo直接传递到表现层去了,是否要这么做,网上曾有过很大的争论,对此我也没什么太好的建议。

而另一种做法,也是一般的做法,就是把jbt中的属性getter()出来,然后setter()到formbean中去。如果你觉得麻烦,可以使用beanutils的copyproperties的方法,具体使用自己搜。
zghmu007 2005-12-05
  • 打赏
  • 举报
回复
用<html:form action="test">
<html:text properyt="jBT.name"/>
</html:form>试试
记得在form中对BEAN对象要进行getter,setter方法。。
public class actionFormTest{
javaBeanTest jBT = new javaBeanTest();
public javaBeanTest getJBT(){
return jBT;
}
public void setJBT(javaBeanTest jBT){
this.jBT=jBT;
}
public void reset(){
jBT.setName(null);
}
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){}
}
青蛙 2005-12-05
  • 打赏
  • 举报
回复
回 ljhyp_cn(香草山牧民):
还是不行,前提是我在ActionForm当中实例了那个javaBean。

回 thumb3344(祖国啊,我只是一个摆地摊的!)
或许你没明白我的问题,不过还是谢谢你让我对此有了一点了解。

回 mxlmwl(飞星)
我现在的作法是在formbean中实例这个javaBean,按你的意思,我现在这种处理方法(在formbean中实例这个javaBean)有比较良好的扩展性?
如果真是这样的话,第一个问题是明白了,但第二个问题呢?
mxlmwl 2005-12-05
  • 打赏
  • 举报
回复
替换是绝对可以的,但是也绝对不推荐你这么做。
对java分层来说,formbean属于表现层对象,它相对于一个表现层的DTO,而你这里说的javabean实际上对应一个bo(也就是一个业务对象),这两者在某些时候是相同的,但是在很多地方是不同的(取决于你的业务需求)。
对于一个良好的设计来说,要求你把这两种对象分离开来,以达到良好的可扩展性。

所以,一般都是在action中进行bo与formbean的转换,这非常麻烦。实际上,也真是因为formbean起不到什么大的作用,所以structs的formbean才被很多人当作是鸡肋,巴不得去之而后快。
thumb3344 2005-12-05
  • 打赏
  • 举报
回复
从细节上讲,
Struts populates the ActionForm by mapping the request parameters from the HTML form variables to the JavaBean properties of the ActionForm instance. Before it populates the form, Struts calls the reset() method of the ActionForm. (This occurs in the processPopulate method of the RequestProcessor by calling the populate
method of RequestUtils.),当然他还提供了validate().
而用javabean的setProperty属性时,假如有两个属性:

name,class.第一次调用时name为axman,class为5,那么,这时取值,name=axman,class=5
但第二次调用,如果没有传name,class,按我们想象应该是name="",class="".
但jsp规范中实现应该是name=axman,class=5,就是说如果下一次调没有给property赋值的话.
则当前值不是空,而是上一次的值.

以上两段懒得自己打都是引用.上一段引用自:<<jakartastrutslive>>后面一段是axman的.呵呵.

ljhyp_cn 2005-12-05
  • 打赏
  • 举报
回复
<html:form action="/test">
<jsp:useBean id="testForm" scope="request" class="test.packs.actionFormTest"></jsp:useBean>
<html:text properyt="name"/>
</html:form>

对不起,没有仔细看,应该是这样的
第1章 Java EE的基本知识 1 1.1 Java EE的出现及其特点 1 1.2 Java EE的分层模型和平台组成 4 1.2.1 Java EE的分层模型 4 1.2.2 Java EE的结构变形 5 1.2.3 Java EE平台的组成 7 1.3 Java EE参与人员的角色 9 1.4 开发工具Eclipse 10 1.5 小结 13 第2章 使用Jakarta Commons来简化开发 14 2.1 Jakarta Commons的功能和用法 14 2.2 小结 18 第3章 Java EE容器 19 3.1 什么是容器 19 3.2 Tomcat的安装和使用 20 3.3 小结 25 第4章 在Java EE使用XML 26 4.1 什么是XML 26 4.1.1 理解XML 26 4.1.2 XML的语法 27 4.1.3 XML命名空间 31 4.2 XML能用来干什么 32 4.3 用DTD验证XML文档 33 4.4 用Schema验证XML文档 35 4.4.1 使用XML Schema 35 4.4.2 Schema的语法 37 4.5 用JAXP读写XML 44 4.6 Java EE的JAXB 55 4.7 小结 64 第5章 使用Java Servlet开发动态网页 65 5.1 Servlet的概念和生命周期 65 5.2 如何编写Servlet 67 5.3 使用Eclipse和Tomcat开发Servlet实例——输出字符串响应 72 5.4 小结 77 第6章 JSP——前后台更好地分离 79 6.1 JSP的概念 79 6.2 JSP页面的组成 80 6.2.1 JSP的指令元素 82 6.2.2 JSP的脚本元素 83 6.2.3 JSP的标准动作元素 85 6.2.4 JSP的内置对象 87 6.3 实例——利用JSP制作图片缩略图 87 6.4 小结 90 第7章 JSTL——JSP标准标签库 91 7.1 JSTL基础 91 7.1.1 JSTL的核心标签库 92 7.1.2 JSTL使用表达式语言 93 7.2 实例——利用JSTL标签生成数字序列 95 7.3 小结 97 第8章 JavaBean组件 98 8.1 JavaBean是什么 98 8.2 实例——在JSP调用JavaBean 99 8.3 小结 106 第9章 开源Web开发框架Struts 107 9.1 Struts框架基础 107 9.1.1 Struts框架的出现及其优点 107 9.1.2 Struts的MVC框架 108 9.2 Struts的配置 110 9.2.1 配置Web.xml 110 9.2.2 配置Struts-config.xml 111 9.2.3 多个配置文件的使用 120 9.3 Struts的各种组件 121 9.3.1 Struts的处理流程 122 9.3.2 ActionServlet 123 9.3.3 Action类 123 9.3.4 ActionForm 125 9.3.5 ActionMapping 126 9.4 Struts标签 127 9.4.1 如何使用Struts标签 127 9.4.2 HTML标签 128 9.4.3 Bean标签 134 9.4.4 Logic标签 136 9.4.5 Nested标签 137 9.5 小结 138 第10章 新一代的Struts 2 139 10.1 Struts 2框架的特点 140 10.2 实例——Struts 2的“Hello World” 143 10.3 小结 151 第11章 利用JDBC访问数据库 152 11.1 JDBC基础 152 11.1.1 如何用JDBC访问数据库 152 11.2 实例——利用JDBC访问SQL Server数据库 154 11.3 小结 156 第12章 利用Hibernate访问数据库 157 12.1 ORM——关系-对象映射的概念 157 12.2 Hibernate基础 158 12.2.1 POJO对象 158 12.2.2 Hibernate映射文件 159 12.2.3 Hibernate配置文件 159 12.3 使用Hibernate 161 12.4 小结 165 第13章 Struts和Hibernate实例——两个与登录有关的实例 166 13.1 Struts和Hibernate的开发环境配置 166 13.1.1 数据库的安装和管理 166 13.1.2 Hibernate的安装 168 13.1.3 Struts的安装 169 13.2 实例一:用户密码验证和登录 170 13.2.1 总体设计 170 13.2.2 具体实现 170 13.2.3 实例小结 185 13.3 实例二:用户密码修改 185 13.3.1 总体设计 186 13.3.2 具体实现 186 13.3.3 运行实例 201 13.4 小结 201 第14章 JSF——类Swing的Web开发框架 202 14.1 JSF基础 202 14.2 实例——JSF处理用户登录 209 14.3 小结 215 第15章 利用JavaMail收发电子邮件 217 15.1 电子邮件协议和JavaMail 217 15.2 JavaMail核心类 218 15.2.1 Session类 218 15.2.2 Message类 218 15.2.3 Address类 219 15.2.4 Authenticator类 220 15.2.5 Transport类 220 15.2.6 Store和Folder类 220 15.3 实例——利用JavaMail收发邮件 221 15.3.1 准备阶段 221 15.3.2 编写发送邮件的实例 223 15.3.3 编写接收邮件的实例 235 15.4 小结 241 第16章 基于良好设计模式的Spring 243 16.1 Spring简介 243 16.2 实例——用Spring来打招呼 246 16.3 小结 248 第17章 JNDI和Java RMI远程调用 249 17.1 用Java RMI实现远程调用 250 17.2 利用JNDI定位资源 256 17.3 实例——分布式的HelloWorld 260 17.4 小结 264 第18章 Java消息服务 265 18.1 消息系统和JMS 265 18.1.1 JMS API 265 18.1.2 点对点消息模式 266 18.1.3 发布者/订阅者模式 267 18.1.4 同步和异步方式 268 18.2 编程模型 268 18.2.1 管理对象 269 18.2.2 连接对象 270 18.2.3 会话 270 18.2.4 消息产生者 270 18.2.5 消息消费者 271 18.2.6 消息 272 18.2.7 异常处理 272 18.3 实例——利用JMS收发消息 273 18.3.1 一个简单的点对点模式消息实例 273 18.3.2 一个简单的发布者/订阅者模式消息实例 279 18.4 小结 285 第19章 利用JXTA编写P2P应用 286 19.1 P2P模型 286 19.2 JXTA框架 288 19.3 实例——JXTA开发P2P实例 292 19.4 小结 296 第20章 实现业务逻辑的EJB 297 20.1 EJB基础知识 297 20.2 实例——利用EJB转换字符串 301 20.3 小结 307 第21章 Web Service 308 21.1 Web Service基础 308 21.2 实例——利用AXIS开发一个简单的Web Service 310 21.3 小结 314 第22章 Java EE的安全 315 22.1 利用JAAS进行验证和授权 315 22.2 利用JSSE进行安全传输 317 22.3 小结 317 第23章 Java EE的测试 319 23.1 开发者为什么需要学习测试 319 23.2 测试的基本概念 320 23.3 利用JUnit进行单元测试 324 23.4 利用StrutsTestCase对Struts进行测试 328 23.5 压力测试和JMeter 334 23.6 其他开源测试工具 339 23.7 小结 343
视频目录简介: 0100_第一部分:WEB开发前奏 0101_WEB开发简介 0102_HTML、JavaScript简介 0103_XML简介 0104_Tomcat服务器的安装及配置 0200_第二部分:WEB基础开发 0205_JSP基础语法 0206_JSP内置对象 0207_JavaBean 0208_文件上传 0300_第三部分:WEB高级开发 0309_Servlet程序开发 0310_表达式语言 0311_Tomcat数据源 0312_JSP标签编程 0313_JSP标准标签库(JSTL) 0314_AJAX开发技术 0400_第四部分:框架开发 0415_Struts基础开发 0416_Struts常用标签库 0417_Struts高级开发 0500_第五部分:附录 0518_附录A:实用工具 0519_附录B:MyEclipse开发工具 电子书目录: MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器与浏览器 2.2、HTML简介 2.2.1、HTML元素概览 2.2.2、创建显示WEB页 2.2.3、创建表单WEB页 2.3、JavaScript简介 2.3.1、JavaScript的基本语法 2.3.2、事件处理 2.3.3、window对象 2.4、本章摘要 2.5、开发实战讲解 第3章 XML简介 3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4章 Tomcat服务器的安装及配置 4.1、Web容器简介 4.2、Tomcat简介 4.3、Tomcat服务器的下载及配置 4.3.1、Tomcat下载 4.3.2、Tomcat安装 4.3.3、服务器配置 4.4、编写第一个jsp文件 4.5、交互性 4.6、本章摘要 4.7、开发实战讲解 第5章 JSP基础语法 5.1、JSP注释 5.2、Scriptlet 5.2.1、第一种Scriptlet:<%%> 5.2.2、第二种Scriptlet:<%!%> 5.2.3、第三种Scriptlet:<%=%> 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围(pageContext范围) 6.2.2、request属性范围 6.2.3、session属性范围 6.2.4、application属性范围 6.2.5、深入研究page属性范围 6.3、request对象 6.3.1、乱码解决 6.3.2、接收请求参数 6.3.3、显示全部的头信息 6.3.4、角色验证 6.3.5、其他操作 6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象 6.6.1、取得虚拟目录对应的绝对路径 6.6.2、范例讲解:网站计数器 6.6.3、查看application范围的属性 6.7、WEB安全性及config对象 6.7.1、WEB安全性 6.7.2、config对象 6.8、out对象 6.9、pageContext对象 6.10、本章摘要 6.11、开发实战讲解(基于Oracle数据库) 第7章 JavaBean 7.1、JavaBean简介 7.2、在JSP使用JavaBean 7.2.1、WEB开发的标准目录结构 7.2.2、使用JSP的page指令导入所需要的JavaBean 7.2.3、使用指令 7.3、JavaBean与表单 7.4、设置属性: 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性: 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean 7.6.2、request范围的JavaBean 7.6.3、session范围的JavaBean 7.6.4、application范围的JavaBean 7.7、JavaBean的删除 7.8、实例操作:注册验证 7.9、DAO设计模式 7.9.1、DAO设计模式简介 7.9.2、DAO开发 7.9.3、JSP调用DAO 7.10、本章摘要 7.11、开发实战讲解(基于Oracle数据库) 第8章 文件上传 8.1、smartupload上传组件 8.1.1、上传单个文件 8.1.2、混合表单 8.1.3、为上传文件自动命名 8.1.4、批量上传 8.2、FileUpload 8.2.1、使用FileUpload接收上传内容 8.2.2、保存上传内容 8.2.3、开发FileUpload组件的专属操作类 8.3、本章摘要 8.4、开发实战讲解(基于Oracle数据库) 第9章 Servlet程序开发 9.1、Servlet简介 9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现过滤器 9.10.3、过滤器的应用 9.11、监听器 9.11.1、对application监听 9.11.2、对session监听 9.11.3、对request监听 9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 10.2.2、调用内置对象操作 10.2.3、接收请求参数 10.3、集合操作 10.4、在MVC应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat使用数据库连接池 11.3、查找数据源 11.4、本章摘要 第12章 JSP标签编程 12.1、标签编程简介 12.2、定义一个简单的标签 —— 空标签 12.3、定义有属性的标签 12.4、TagSupport类 12.5、定义有标签体的标签库 12.6、开发迭代标签 12.7、BodyTagSupport类 12.8、TagExtraInfo类和VariableInfo类 12.9、使用BodyTagSupport开发迭代输出 12.10、简单标签 12.11、DynamicAttributes接口 12.12、本章摘要 第13章 标准标签库(JSTL) 13.1、JSTL简介 13.2、安装JSTL 1.2 13.3、核心标签库 13.3.1、标签 13.3.2、标签 13.3.3、标签 13.3.4、标签 13.3.5、标签 13.3.6、标签 13.3.7、标签 13.3.8、标签 13.3.9、标签 13.3.10、标签 13.3.11、标签 13.4、国际化标签库 13.4.1、标签 13.4.2、标签 13.4.3、读取资源文件 13.4.4、数字格式化标签 13.4.5、日期时间格式化标签 13.4.6、设置时区 13.5、SQL标签库 13.5.1、 13.5.2、数据库操作标签 13.5.3、事务处理 13.6、XML标签库 13.6.1、XPath简介 13.6.2、标签 13.6.3、标签 13.6.4、标签 13.6.5、标签 13.6.6、标签 13.6.7、标签 13.7、函数标签库 13.8、本章摘要 13.9、开发实战讲解(基于Oracle数据库) 第14章 AJAX开发技术 14.1、AJAX技术简介 14.2、XMLHttpRequest对象 14.3、第一个AJAX程序 14.4、异步验证 14.5、返回XML数据 14.6、本章摘要 14.7、开发实战讲解(基于Oracle数据库) 第15章 Struts基础开发 15.1、Struts简介 15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签库简介 16.2、Bean标签 16.2.1、标签 16.2.2、标签 16.2.3、资源访问标签 16.2.4、标签 16.2.5、标签 16.2.6、标签 16.2.7、国际化与标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、form>标签 16.4.2、标签 16.4.3、标签 16.4.5、标签 16.4.6、标签 16.4.7、按钮标签 16.4.8、实例:编写基本表单 16.4.9、复选框标签 16.4.10、下拉列表框 16.5、本章摘要 16.6、开发实战讲解(JSP + Oracle) 第17章 Struts高级开发 17.1、Struts多人开发 17.2、Token 17.3、文件上传 17.4、动态ActionForm 17.5、Action深入 17.5.1、ForwardAction 17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、发送带附件的HTML风格邮件 18.2、操作Excel文件 18.2.1、JExcelAPI简介 18.2.2、创建一个Excel文件 18.2.3、读取Excel文件 18.2.4、格式化文本 18.3、本章摘要 附录B:MyEclipse开发工具 19.1、MyEclipse简介 19.2、MyEclipse的安装 19.3、MyEclipse的使用 19.4、配置Tomcat服务器 19.5、MyEclipse卸载 19.6、本章摘要 附录C:HTTP状态码及头信息 20.1、HTTP状态码 20.2、HTTP头信息

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧