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=valueparamId属性是让你告诉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¶mValue2=value2当我在一次实践中,联想了一下,当解析tag时应该会解析全部所用到的属性,所以就做了下面的一个测试,下面是一个四个属性一起使用的例子:<html:link action="/atctionName" name="mapName" paramId="paramValue" paramName="beanName" paramProperty="beanProperty" >点击链接</html:link>得到的效果是:http://localhost:8080/projectName/atcionName?paramValue1=value1¶mValue2=value2¶mValue=value所有属性的值都解析出来了。这样的效果可以用在你想一级一级的推论下去达到的链接效果。也就是说,当你提交之后,你可以把paramValue的值put进mapName的Map中,再返回,用在name属性上。当你想返回上面一级的时候可以remove掉。或者当你的参数存放的是数据库中多个表格的级联主健,当你想向后查询上级表格时你就可以直接拿到主健进行查询,不用一级一级向数据库往回查询推出主健。
相关资源:敏捷开发V1.0.pptx