Struts1.X

文章主要内容是介绍本人在使用Struts过程中常用到的一些特性:

1.在Struts中配置数据源,可以在应用中配置一个或多个数据源,用key属性区分:
struts-config.xml中的定义:
<data-sources>
<!-- 可配置多个数据源以key区分 -->
<data-source key="ds1" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="autoCommit" value="false" />
<set-property property="description" value="data source1" />
<set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
<set-property property="maxCount" value="10" />
<set-property property="minCount" value="2" />
<set-property property="username" value="root" />
<set-property property="password" value="password" />
<set-property property="url" value="jdbc:mysql://localhost:3306/test" />
</data-source>

<data-source key="ds2" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="autoCommit" value="false" />
<set-property property="description" value="data source2" />
<set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
<set-property property="maxCount" value="10" />
<set-property property="minCount" value="2" />
<set-property property="username" value="root" />
<set-property property="password" value="password" />
<set-property property="url" value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf8" />
</data-source>
</data-sources>
在应用中取值:
(1)单数据源取值:
DataSource ds = null;
Connection con = null;
ds=getDataSource(request);

(2)多数据源取值:
DataSource ds = null;
Connection con = null;
ds = getDataSource(request, "ds1");//多一个指定数据源key参数

2.使用ActionMessages保存错误信息
在Struts1.2之前可以使用ActionErrors来保存错误信息,但从1.2版本开始不建议使用ActionErrors了,推荐使用ActionMessages
来保存错误信息使用方式:
(1)声明ActionMessages messages=new ActionMessages();
(2)messages.add("msg",new ActionMessage("errors.msg"));//添加错误信息
(3)保存错误信息saveErrors(request,messages);
(4)显示错误信息:方式1:<html:errors property="msg"/> 方式2:<html:errors/>不指定属性显示全部错误信息

3.多资源文件的使用:
struts-config.xml中的定义:
<!-- 可以一个模块用一个资源文件,用KEY属性进行区分 -->
<message-resources key="model" parameter="net.struts.resource.model1_zh_CN" />
<message-resources parameter="net.struts.resource.model2_zh_CN" />
取值显示:<bean:message bundle="model" key="errors.msg" />通过bundle指定与配置文件中key相同的值来使用相应的文件。

4.使用动态ActionForm,在应用中可以使用动态Form来减少类的数量。
可以将对应数据库表的值对象作为一个属性赋给一个动态Form
struts-config.xml中的定义:
<!-- 动态BEAN中可以配置java bean vo 作为form的属性 -->
<form-bean name="UserForm" type="net.struts.dyform.DyActionForm">
<form-property name="userVO" type="net.user.UserVO" />
</form-bean>

在jsp文件中的写法:
<html:text name="UserForm" property="userVO.name" />
<html:text name="UserForm" property="userVO.email" />
其中name,email分别是userVO对象的属性,既对象数据库中user表中name和email字段。

在Action中取值:
UserVO vo=(UserVO)((DyActionForm) form).get("userVO");
System.out.println(vo.getEmail());
System.out.println(vo.getName());
通过类型转换将form对象转换成值对象类型然后取得相应的属性值。

5.通过<bean:write name="" property="" />可以输出属性内容,当需要输出含有html等特殊标签的内容时,可以在bean标签中加上filter属性
filter为false时表示直接不对html标记进行转换。例如当属性值中含有<br>,<hr>等字符时将会在页面中直接显示成换行和水平线。

6.不断添加......
CCF大数据与计算智能大赛-面向电信行业存量用户的智能套餐个性化匹配模型联通赛-复赛第二名-【多分类,embedding】.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值