struts文本资源的使用 resource bundle or message resource file

来源:互联网 发布:2g网络接口 编辑:程序博客网 时间:2024/06/17 12:28

struts2中提供一些便捷的方法访问文本资源文件,最简单的就是通过.properties文件。这里直接创建一个同Action相同名称的.properties文件后在jsp中就可以访问这个.properties文件了,当然这个jsp文件必须是对应的Action的一个result,也就是在呈现这个jsp页面前,必须是通过对应的Action处理过的,其实这也是Struts2倡导的方式,也就是所有的jsp最好不要通过直接访问的方式,比如最好不要出现像<a href="hello.jsp" >hello</a>,这种情况,而是提倡<a href="<s:url action='hello'>">hello</a>,这样的情况,然后通过配置文件在对应到hello.jsp上。

通过资源的方式可以更加精简代码 比如原来的login.jsp上有<s:textField name="user.userID" label="UserID"/>这样的代码。假设现在使用的是叫Login的类来处理,那么对应于Login.java文件的同一目录下创建一个叫Login.properties的文件,并在文件中加入这样一行:

user.userID = UserID 那么上面的标签就可以简化为<s:textField key="user.userID"/>。当然需要正常显示,你所访问的login.jsp是必须由Login这个类处理过后返回的result调用的,比如我们使用一个HelloWorld工程:包括login.jsp、Login.java、Login.properties,

这里Login.jsp 就一行代码,然后Login.java继承ActionSurpport这个类,在Login.java中创建一个showLogin()的函数来处理显示Login.jsp,showLogin(){return SUCCESS;},然后再Sturts.xml中加入,<action name="showLogin" class="Login" method="showLogin">

<result>/Login.jsp</result>

</action>

这样就可以了 因为默认的情况下 result中不填name时就是success。这样就可以正常显示资源了