自己的一些手记

[color=black][size=large][list=1]
[*]
[/list][size=xx-small]

㈠在Structs中如何解决中文乱码问题



1.在工程下建一个Servlet,让它实现javax.servlet.filter接口

2.在doFilter方法中添加如下代码:

request.setCharacterEncoding("gbk");//设置编码方式为gbk

chain.doFilter(request,response);//表示调用下一个过滤器,但必须在最后写,也表示在它后面能够再添加其它的过滤器

3.在web.xml中添加配置信息:

<filter>

<filter-name>给过滤器命一个名</filter-name>

<filter-class>过滤器类的路径</filter-class>

</filter>

<filter-mapping>

<filter-name></filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

======================================================================================================

㈡在Structs中弹出错误信息



1.在Structs-config.xml中添加配置信息,在<action>中添加属性:

<action validate="true" //表示支持ActionForm中验证方法

input="页面路径" //当验证不通过时,在这个页面显示错误信息

></action>



2.在ActionForm中的validate方法中添加对表单中输入的值验证,对于错误信息

ActionErrors errors=new ActionErrors();

errors.add("键",new ActionMessage("ApplicationResources.properties中的键"));

注意:在添加错误信息时,也可以这样写:

errors.add("(页面输出错误信息的)键",new ActionMessage("键",数组或多个参数));

此时在ApplicationResources.properties资源文件中改为:

键=……{0}…{1}……

这里的{0}、{1}等等代表数组中下标元素或参数的位置。



3.在ApplicationResources.properties资源文件中添加:

errors.header=<span style="color:red">

errors.footer=</span>

键=错误信息



4.在页面中输出:

<html:errors property="errors集合中的键">



5.提示:

①在读取资源文件时,假如资源文件名为:ApplicationResources.properties,并且客户端为中国用户,则会先读取

ApplicationResources_zh_CN.proterties(zh表示中文,CN表示中国),如果不存在则读取ApplicationResources_zh.properties,

如果还不存在,最后才会支读取ApplicationResources.properties。

②如果要修改客户端的语言:打开浏览器→工具→Internet选项→在选项卡中点击语言按钮修改相关信息。



6.如何将中文错误信息显示:

用文本编辑器来编辑资源文件,并保存,再将资源文件转换为unicode编码,在DOS命令下先找到资源文件目录,再输入以下代码

native2ascii [-unicode] 源文件 目标文件 或

native2ascii [-encoding gbk] 源文件 目标文件 并运行该命令就可

========================================================================================================

㈢在Action中业务有效性验证:



需注意:在Action中的execute方法中定义错误集合,并保存

ActionErrors errors=new ActionErrors();

saveErrors(request,errors);

========================================================================================================

㈣DispatchAction:



1.修改struts-config.xml文件中的<action>节点中添加一个 “parameter="参数名"” 属性。



2.修改Action时继承于DispatchAction,而其中的方法名应和上述的参数名相同



例:如果传递过来的参数是add,则会调用这个Action中的add方法,如果传递过来的是edit,则调用edit方法。

/********add方法********/

public ActionForward add(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

}

/********edit方法********/

public ActionForward add(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

}



3.再在各方法中进行操作和如何跳转。





注:由一个Action跳转到另一个Action时,在Structs-config.xml中的Action节点中,配置<forward>时:

<forward name="" path="另一个Action的path"/>

=======================================================================================================

㈤structs标签库:



1.<logic:iterate>标签:首先导入包

<%@ taglib uri="http://structs.apache.org/tags-logic" prefix="logic" %>

在页面中嵌入:

①.如果把查询到的数据封装到ActionForm中的属性中时,<logic:iterate>配置如下:

<logic:iterate id="名" name="指ActionForm的name" property="ActionForm的属性">

</logic:iterate>

在<logic:iterate>中id用于来输出时作为变量名,name表示指向哪个ActionForm,property则指的是ActionForm中拥有的属性

②.如果把查询到的数据封装到request.setAttribute("键",值); 中时,<logic:iterate>配置如下:

<logic:iterate id="名" name="request中的键">

</logic:iterate>



2.<bean:write>标签:导入包

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>

标签语法:

<bean:write name="输出用到的键" property="属性名" format="格式化的格式" />

对于时间或金钱的输出时,我们可以用到<bean:write>中的format属性对它们进行格式化,例:

时间:<bean:write name="输出用到的键" property="属性名" format="yyyy年MM月dd日" />

金钱:<bean:write name="输出用到的键" property="属性名" format="#,###或####.00" />



3.<html:link>标签:导入包

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

标签语法:

<html:link page="jsp页面或其它的Action的path" paramId="用于传送的参数名"

paramName="需绑定的参数" paramProperty="属性名">

</html:link>



4.<html:select>标签:

标签语法:

<html:select property="ActionForm中需绑定的属性">

<html:optionsCollection property="ActionForm中集合属性" lable="用于显示的值" value="需用于传递的值"/>

</html:select>

注:如果集合不保存在ActionForm中的属性,而保存在request的属性中,则也可以用

<html:options>
[color=darkred][/color][size=xx-small][/size][/size][/size][/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值