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.不断添加......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值