html:link中的name,paramId,paramName和paramProperty四个属性的使用心得

看了一些使用html:link的文章,大多只是说了paramId结合paramName和paramProperty的使用。下面将会用到name,paramId,paramName和paramProperty一起使用的效果。

首先是先解释简单的应用paramId,paramName和paramProperty

<html:link action="/atctionName"  paramId="paramValue" paramName="beanName" paramProperty="beanProperty" >点击链接</html:link>

假设在scope范围中,有一个bean叫beanName,beanName的一个属性beanProperty的值为value,那么当你点击链接之后会有下面的链接效果:

http://localhost:8080/projectName/atcionName?paramValue=value

 paramId属性是让你告诉jsp编译引擎你要传送的参数是那个。

paramName属性是使用那个bean,paramProperty属性是使用这个bean的那个属性,两者的结合就是让你告诉jsp编译引擎你要利用参数传送bean中属性的值.

上面只可以传送一个参数,但在应用中往往不够的,name属性就是专门用来传送多个参数的。

name属性必须是map类型的变量。

假设如果你定义下面的一个map:

Map mapName=new HashMap();

mapName.put("paramValue1","value1");

mapName.put("paramValue2","value2");

request.setAttribute("mapName",mapName);

在jsp页面有下面的一个链接:

<html:link action="/atctionName"  name="mapName">点击链接</html:link>

点击链接后的效果:

http://localhost:8080/projectName/atcionName?paramValue1=value1&paramValue2=value2

当我在一次实践中,联想了一下,当解析tag时应该会解析全部所用到的属性,所以就做了下面的一个测试,

下面是一个四个属性一起使用的例子:

<html:link action="/atctionName"   name="mapName"  paramId="paramValue" paramName="beanName" paramProperty="beanProperty" >点击链接</html:link>

得到的效果是:

http://localhost:8080/projectName/atcionName?paramValue1=value1&paramValue2=value2&paramValue=value

所有属性的值都解析出来了。

这样的效果可以用在你想一级一级的推论下去达到的链接效果。也就是说,当你提交之后,你可以把

paramValue的值put进mapName的Map中,再返回,用在name属性上。当你想返回上面一级的时候可以

remove掉。或者当你的参数存放的是数据库中多个表格的级联主健,当你想向后查询上级表格时你就可以直接拿到主健进行查询,不用一级一级向数据库往回查询推出主健。

 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值