struts 2 部分配置

本文介绍了如何在Struts2框架中实现应用的国际化功能,包括通过链接改变语言设置的方法,以及如何创建不同类型的链接如资源链接、直接链接和带有参数的链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网址:http://www.java3z.com/cwbwebhome/article/article2/2876.html?id=1517

 

另一个常用的功能是使用链接来改变语言,在前章的HelloWorld页面中,让我们改变用户的语言,并根据对应的应用程序资源来呈现信息。代码如下:

<body>
<h2><s:property value="message"/></h2>
<h3>Languages</h3>
<ul>
    <li>
        <s:url id="url" action="HelloWorld">
            <s:param name="request_locale">en</s:param>
        </s:url>
        <s:a href="%{url}">English</s:a>
    </li>
    <li>
        <s:url id="url" action="HelloWorld">
            <s:param name="request_locale">es</s:param>
        </s:url>
        <s:a href="%{url}">Espanol</s:a>
    </li>
</ul>
</body>

 运行效果如下:

 

代码是如何工作的?

 上述例子中的“%{url}”将会被s:url标签来求得对应的值。在Welcome和HelloWorld页中,我们使用了两种不同的链接标签。我们可以创建如下标签:
  资源链接     直接的链接      带参数的链接

 下面让我们分别看一下它们的使用:

1. 资源链接

首先在jsp的HEAD元素中,我们使用url标签来将资源引入到页面中,代码如下:

<link href="<s:url value="/css/tutorial.css"/>" 
  rel="stylesheet" type="text/css"/>

注意:引用时绝对的。我们可以移动该页面到其他路经而不用担心相对路径。

2.直接链接

 我们可以使用链接标签来定向到Action,实例代码如下:

<li><a href="<s:url action="Register"/>">Register</a></li>

 当链接运作的时候,链接标签能够自动追加正确的扩展,因此我们不需要在应用程序中嵌入。这个标签也将会用会话id来编码链接的URL,因此Java的会话在请求之间能够保持。

3.带有参数的链接

 在上述的有关改变语言的HelloWorld页中,我们可以使用带有参数信息的url标签来创建带有参数的链接,该段代码如下:

 <s:url id="url" action="Welcome">
 <s:param name="request_locale">en</s:param>
</s:url>
<s:a href="%{url}">English</s:a>

 param标签将会在Welcome的Action的url后增加信息:“?request_locale=en”。这个标签接着将“url”引用注入到超链接中。

 说明:通过增加param标签能够增加任意数量的标签。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值