`
hewj
  • 浏览: 14160 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于<html:link>标签在URI后面传参数的问题2006

阅读更多
在struts标签<html:link>的page属性指定的URI后面传递参数可以有几种方式:

1.若明确参数名和参数值则直接在URI后输出,
如:<html:link page="/test.do?action=add">add</html:link>

2.对于参数值不确定的,paramName和paramProperty来输出,用paramId属性指定参数名。
对于paramName指定的对象应该存在于page、request、session、application其中之一。一般来说,是从Action类传过来的,作为request的属性之一(requst.setAttribute("name",object))。
如果paramName指定的对象是action的ActionForm,则无需使用request.setAttribute方法。
例:<html:link page="/test.do" paramId="userid" paramName="uid">uname</html:link>
若参数值是一个bean对象的属性值(比如ActionForm,或者集合中存放的对象)则:
<html:link page="/test.do" paramId="userid" paramName="user" paramProperty="uid">uname</html:link>

3.若两个参数,一个确定一个不确定,则是以上两种方法的结合,即:
<html:link page="/test.do?action=modify" paramId="userid" paramName="uid">modify</html:link>

4.对于多个参数的问题,可以使用一个HashMap集合对象来存放所有的参数名及对应的参数值的方式,paramName属性值指定为该HashMap集合对象即可。
举例:
<%
//代码理想的位置应该是在action中
//可以在jsp页面测试
  java.util.HashMap pms = new java.util.HashMap();
  pms.put("code", "001002");
  pms.put("name", "tester");
  pms.put("alias", new String[]{"matin","jack"});
  request.setAttribute("params", pms);
%>
<html:link action="/test.do" name="params" >test</html:link>
编译后的结果:<a href="/test.do?code=001002&name=tester&alias=matin&alias=jack">test</a>
这种方式虽然可以解决传多参数的问题,但是实现起来也比较麻烦,特别是对记录集中的数据逐条列出的时候

5.针对有的网友在<html:link>标签中嵌入使用jsp脚本(scriptlet)的问题,
例如:
<html:link page="/test.do?code=<%=varible%>">add</html:link>,这种写法是错误的,是无法编译的。
有的网友认为在struts标签内是不允许使用jsp脚本的,这种说法也不准确。如果前面的写法改成:
<html:link page="<%="/test.do?code="+varible%>">add</html:link>,就可以被执行,但是要注意URL相对路径的问题。

虽然在struts标签中嵌入jsp脚本不是真正意义上的struts应用,但是有时在委曲求全的情况下也只能如此了,除非使用自定义标签。比如在form表单中可能需要根据具体数据让某个字段是只读的,就可以用嵌入jsp脚本来实现:
<%
boolean rdonly=false;
if(2==2) rdonly=true;
%>
<html:text property="userid" readonly="<%=rdonly%>" />

6.另外一种比较变态的方法,既不是真正意义上的struts,也不符合xml规范。那就是在<a>标签中用<bean:write>标签输出参数值。
如:<a href="test.do?uid=<bean:write name="user" property="userid"/>&name=<bean:write name="user" property="username"/>">test</a>

分享到:
评论

相关推荐

    Struts2标签库的所有

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) &lt;s:property&gt; (2) &lt;s:set&gt; (3) &lt;s:if&gt; 、&lt;s:elseif&gt;、&lt;s:else&gt; (4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7...

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) &lt;s:property&gt; (2) &lt;s:set&gt; (3) &lt;s:if&gt; 、&lt;s:elseif&gt;、&lt;s:else&gt; (4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7...

    struts2 标签库 帮助文档

    &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-----超链接,类似于html里的&lt;a&gt;&lt;/a&gt; 3. &lt;s:...

    人事信息管理系统

    &lt;p style="text-align:center"&gt; &lt;h:outputLink value="/faces/add.jsp"&gt;添加一条&lt;/h:outputLink&gt; &lt;h:form&gt; &lt;h:dataTable value="#{loginBean.persons}" var="person" border="5" cellpadding="5" cellspacing...

    struts_jstl

    stl的配置方法:&lt;br&gt;1、将jstl.jar和standard.jar拷贝到web-inf/lib下即可(如只使用EL表达式,无需引用这两个包)&lt;br&gt;&lt;br&gt;2、在jsp页面头部引入taglib方法如下:&lt;br&gt; &lt;%@ taglib prefix="c" uri=...

    OA 办公自动化, DAO登陆设计

    &lt;%@ page language="java" pageEncoding="UTF-8"%&gt; &lt;%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %&gt; &lt;%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %&gt; &lt;%@ taglib uri="/WEB-INF/struts-...

    简单的一个学生管理系统 servlet+JSP

    &lt;link rel="stylesheet" type="text/css" href="styles.css"&gt; --&gt; &lt;script type="text/javascript" src="/soft08/js/queryStudent.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt; 学生信息查询 &lt;/h1&gt; &lt;form ...

    struts2的标签库

    这是一份关于struts2标签库的文档。 &lt;%@ taglib prefix="s" uri="/struts-tags"%&gt; struts2的标签共分为五大类: 一、逻辑控制标签 用于进行逻辑控制输出。主要分以下几类: 1)条件标签:用于执行基本的条件流转 &lt;s...

    数据库分页脚本 jsp

    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt; &lt;title&gt;ʽ&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;script type=...

    自己写的截取标题标签

    config&gt;&lt;br&gt;&lt;taglib&gt;&lt;br&gt;&lt;taglib-uri&gt;/tags/cutString&lt;/taglib-uri&gt;&lt;br&gt;&lt;taglib-location&gt;/WEB-INF/cutString.tld&lt;/taglib-location&gt;&lt;br&gt;&lt;/taglib&gt;&lt;br&gt;&lt;/jsp-config&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; 在页面上直接用就可以了 &lt;br&gt;&lt;br&gt;&lt;%...

    Java Oracle分页处理

    &lt;td&gt;&lt;bean:write name="temp" property="birthday"/&gt;&lt;/td&gt; &lt;td&gt;&lt;bean:write name="temp" property="trade"/&gt;&lt;/td&gt; &lt;td&gt;&lt;bean:write name="temp" property="sex"/&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/logic:...

    在线订餐系统基于Javawen

    &lt;td&gt;用户类型:&lt;/td&gt; &lt;td&gt; &lt;select name="type"&gt; &lt;option value="0"&gt;---请选择---&lt;/option&gt; &lt;option value="club"&gt;会员&lt;/option&gt; &lt;option value="admin"&gt;管理员&lt;/option&gt; &lt;/select&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td...

    xml入门教程/xml入门教程

    如:&lt;?xml version="1.0" encoding="gb2312" standalone="yes"?&gt; 文档类型声明 规定元素的结构和属性列表的取值 如:&lt;!DOCTYPE studinfo SYSTEM "studinfo.dtd"&gt; 2)元素 空元素 &lt;空元素标签名 属性=...

    简单好用的分页标签,纯标签无须jsp脚本就可分页

    用例:&lt;me:table pageSize="2" border="0" width="40%" id="uid" table="user"&gt; &lt;me:column property="userName"/&gt;&lt;me:column property="password"/&gt;&lt;me:column&gt;${rows.userName}&lt;/me:column&gt; &lt;/me:table&gt; 内部使用...

    JSF文件上传

    &lt;%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %&gt; &lt;%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %&gt; &lt;%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %&gt; &lt;%@ taglib uri=...

    jsoup jar包

    b.&lt;decorator:title/&gt;这个标签会找到被装饰页面的title(&lt;title&gt;&lt;/title&gt;标签内)内容填入, &lt;decorator:head/&gt;找到被装饰页面的head(&lt;head&gt;&lt;/head&gt;标签内)内容填入,&lt;decorator:body/&gt;找到被装饰页面的body(&lt;body&gt;&lt;/...

    自定义标签的简单例子

    &lt;br&gt;tld中&lt;br&gt; &lt;tag&gt;&lt;br&gt; &lt;name&gt;hello_int&lt;/name&gt;&lt;br&gt; &lt;tag-class&gt;com.jspdev.ch11.HelloTag_Interface&lt;/tag-class&gt;&lt;br&gt; &lt;body-content&gt;empty&lt;/body-content&gt;&lt;br&gt; &lt;/tag&gt;&lt;br&gt;xml中&lt;br&gt; &lt;taglib&gt;&lt;br&gt; &lt;taglib-uri&gt;/...

    struts标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;action标签&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;!-- 这句会显示action请求的跳转页面...

    struts 标签 logic:iterate使用 logic:iterate

    DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;&lt;br&gt;&lt;html&gt;&lt;br&gt; &lt;head&gt;&lt;br&gt; &lt;/head&gt;&lt;br&gt; &lt;body&gt;&lt;br&gt; &lt;table&gt;&lt;br&gt; &lt;tr&gt;&lt;br&gt; &lt;td&gt;&lt;%@ include file="../menu.txt"%&gt;&lt;br&gt; &lt;/td&gt;&lt;br&gt; &lt;/tr&gt;...

    JSTL标签大全

    标签库 URI 前缀 使用模式 核心标签库 http://java.sun.com/jstl/core c &lt;c:tagname…&gt; 国际化标签(I18N) http://java.sun.com/jstl/fmt fmt &lt;fmt:tagname…&gt; SQL标签库 ...

Global site tag (gtag.js) - Google Analytics