Struts标签库详解:html:link与参数传递
需积分: 3 107 浏览量
更新于2024-09-17
收藏 21KB DOCX 举报
"struts标签库用于在HTML中增强功能,特别是`<html:link>`标签,它等价于HTML的`<a href>`标签,但提供了更多灵活性和动态特性。Struts标签库允许开发者更方便地处理链接和传递参数,支持全局转发、GET请求以及与JavaBean交互。"
在Struts框架中,`<html:link>`标签是Struts标签库的一部分,用于创建链接。这个标签不仅提供了一个简洁的方式来表示超链接,还支持多种高级特性:
1)链接目的地(href): `href`属性用于指定链接的目标位置,例如指向一个JSP页面。如`<html:link href="a.jsp">进入a.jsp</html:link>`,这与HTML的`<a href>`标签类似。
2)全局转发(forward): 使用`forward`属性,你可以链接到在`struts-config.xml`中定义的全局转发。例如,先在配置文件中设置一个全局转发:
```xml
<global-forwards>
<forward name="msg" path="/msg.jsp"/>
</global-forwards>
```
然后在`<html:link>`标签中引用它:`<html:link forward="msg">thislink</html:link>`,这样点击链接将触发对应的全局转发。
3)链接Action: `<html:link>`可以链接到Action,实现GET提交,不需要ActionForm。如:`<html:link href="SumAction.do?n=4">thislink</html:link>`,这将调用名为`SumAction`的Action,并传递参数`n=4`。
4)参数传递:这个标签的一个独特之处在于,它可以将四个作用域(request、page、session、application)内的变量或JavaBean的值作为参数传递。例如,先在PageContext中设置一个变量:
```java
pageContext.setAttribute("uid", "chen");
```
然后在链接中传递这个变量:
```jsp
<html:link page="msg.jsp" paramId="uid" paramName="uid">thispramlink</html:link>
```
其中,`paramId`指定GET参数的名称,`paramName`则指定了参数的值来源。
5)与JavaBean交互:`<html:link>`还可以与JavaBean的属性进行交互。假设有一个名为`sumBean`的JavaBean在page作用域中:
```jsp
<jsp:useBean id="sum" class="ht.NetBook.sumBean" scope="page"/>
<jsp:setProperty name="sum" property="n1" value="10"/>
```
然后在链接中,我们可以传递JavaBean的属性作为参数:
```jsp
<html:link href="msg.jsp" paramId="n1" paramName="sum" paramProperty="n1">paramName:指定javaBean的名字
paramProperty:指定javaBean属性,该连接会自动的把javaBean的属性取出来做为get的提交值
```
这里,`paramName`指定了JavaBean的名称,而`paramProperty`指定了JavaBean的属性,链接会自动获取该属性的值作为GET请求的参数。
在实际应用中,例如展示员工信息时,可以通过数据库查询获取员工数据,然后在页面上显示,同时在每个员工条目旁边添加一个删除链接。通过这种方式,你可以方便地将员工ID或其他标识符传递给Action,以便执行删除操作。这种功能的实现得益于Struts标签库提供的强大和灵活的链接机制。
2009-09-25 上传
2011-05-31 上传
2010-05-07 上传
2014-02-08 上传
2011-06-22 上传
2009-09-07 上传
2010-10-14 上传
2009-02-13 上传
xuliying123456
- 粉丝: 0
- 资源: 2
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析