|
1.10 开发技巧与难点分析 |
虽然在应用Struts框架开发Web应用时,推荐使用Struts中提供的标签,但有些时候不妨灵活地使用原始的HTML语言中的一些标识。例如,在页面中实现一个超链接,链接请求的资源为welcome.jsp页面,若使用Struts 2.0的a标签实现:
则上述代码将生成如下HTML代码:
所以该超链接请求的资源为<s2:url value='/welcome.jsp'/>,很显然不是预期的效果。可以写为如下形式:
但是,如果超链接请求的资源是动态改变的,或者传递的参数也是动态改变的,这时可以使用HTML语言中的标识来实现:
则上述代码将生成如下HTML代码:
在Struts 2中解决中文乱码的问题,可在struts.properties文件中进行如下配置。
struts.i18n.encoding用来设置Web应用默认的编码,gb2312则指定了默认的编码。
该方法可以解决提交表单后出现的中文乱码问题。此时,表单的method属性值必须为post,若使用Struts 2.0中的form标签实现的表单,可省略method属性,默认值为post;若是通过原始的HTML语言的form标识实现的表单,则需要设置method属性,并赋值为post。
如果某个超链接传递的参数的值是中文字符,则在Action业务控制器中获取该参数值后,必须进行如下转码操作,否则获取的值为乱码。