首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

7.2  页面初始化标签

7.2.1  <html:html>标签

该标签对应HTML中的<html>元素。<html:html>标签中的lang属性设置为“true”时,<html:html>标签会先在当前会话中查找Locale对象,并根据该Locale对象输出网页使用的语言。如果不存在session会话或者当前会话中没有Locale对象,则根据客户端的HTTP请求头中的accept-language属性值来输出网页使用的语言。若HTTP请求头中不存在accept-language属性,此时<html:html>标签会根据默认的Locale来输出网页使用的语言。

在Struts 1.2版本中,<html:html>标签通过增加的lang属性来实现与Struts以前版本中locale属性相同的功能。但是在不存在session会话的情况下,使用locale属性的<html:html>标签会创建一个session会话,用来保存来自HTTP请求中的Locale对象。该种方法要求应用必须支持session,已逐渐被lang属性取代。

说明如下。

① 在程序中可通过内置对象request的getHeader("accept-language")方法查看请求头中包含的语言种类,这些语言可在浏览器菜单的“工具”/“因特网选项”命令下单击【语言】按钮出现的“语言首选项”对话框中进行添加或删除。当清空该对话框内的所有语言种类后,来自客户端的HTTP请求头中将不存在accept-language属性。

② 默认的Locale对象是在JVM启动时查询操作系统而设置的。

例如:应用程序中某一JSP页面包含如下代码。

<%@ taglib uri="struts-html" prefix="html"%>

<html:html lang="true">

<body>Hello world!</body>

</html:html>

若客户端浏览器使用中文语言,则上述的JSP代码将被解析为如下HTML代码。

<html lang="zh-CN">

<body>Hello world!</body>

</html:html>

若客户端浏览器使用英语(美国)语言,则上述的JSP代码将被解析为如下HTML代码。

<html lang="en-US">

<body>Hello world!</body>

</html:html>

7.2.2  <html:base>标签

该标签对应HTML中的<base>元素。<html:base>标签中的server属性可以改变当前请求链接中服务器的名称;target属性指定打开目标页面的窗口或框架。

若当前应用为Logon,其根目录下的index.jsp文件包含如下代码。

<html:html lang="true">

 <head><html:base/></head>

 <body>

  <a href="default.jsp">链接到XXX网站</a>

 </body>

</html:html>

则<html:base/>标签会生成如下HTML元素。

<base href="http://localhost:8080/Logon/index.jsp">

加上server和target属性的<html:base/>标签,

<html:base server="192.168.1.17" target="_blank"/>

则会生成如下HTML元素。

<base href="http://192.168.1.17:8080/Logon/index.jsp" target="_blank">

此时页面中超链接的URL为“http://192.168.1.17:8080/Logon/default.jsp”,单击“链接到XXX网站”链接后会在新的窗口中显示响应信息。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论