在 Struts2 框架中,一个 Action 对象的 URL 映射地址包含名称空间、调用方法等多个参数,这样的 URL 可以直接进行编写,也可以使用 Struts2 框架提供的 url 标签自动生成 URL 地址,url 标签中提供了多个属性满足不同格式的 URL 需求。
语法:
url 标签是一个很常用的标签,在 url 标签中可以向 url 传递请求参数,也可以通过 url 标签提供的属性生成不同格式的 url。
url标签的属性说明如表所示。
名称 | 是否必须 | 类型 | 说明 |
---|---|---|---|
action | 可选 | String | Action对象的映射URL,也就是Action对象的访问地址 |
anchor | 可选 | String | 此URL的锚点 |
encode | 可选 | boolean | 是否对参数进行编码,默认值为true |
escapeAmp | 可选 | String | 是否将“&”转义成为“&” |
forceAddSchemeHostAndPort | 可选 | boolean | 是否添加URL的主机地址及端口号,默认值为false |
includeContext | 可选 | boolean | 生成的URL是否包含上下文路径,默认值为true |
includeParams | 可选 | String | 是否包含可选参数,可选值为none、get、all。默认值为none |
method | 可选 | String | 指定请求Action对象所调用的方法 |
namespace | 可选 | String | 指定请求Action对象映射地址的名称空间 |
scheme | 可选 | String | 指定生成URL所使用的协议 |
value | 可选 | String | 指定生成URL的地址值 |
var | 可选 | String | 定义生成URL变量名称,可以通过此名称引用URL |
创建程序中的首页 index.jsp,在此页面中通过 url 标签生成不同格式的 url 地址,关键代码如下:
<body>
<div>
<h2>url标签</h2>
<ul>
<li>生成Action链接</li>
<li>
<s:url action="user.action" method="add" namespace="admin"></s:url>
</li>
</ul>
<ul>
<li>生成Action链接(带有主机名及端口号)</li>
<li>
<s:url action="user.action" method="add" namespace="admin"
forceAddSchemeHostAndPort="true"></s:url>
</li>
</ul>
<ul>
<li>生成Action链接(带有参数)</li>
<li>
<s:url action="user.action"method="add" namespace="admin">
<s:param name="username" value="'mr'"></s:param>
<s:param name="password" value="'mrsoft'"></s:param>
</s:url>
</li>
</ul>
</div>
</body>