${}的使用


在我使用循环标签(logic:iterator)内嵌套select标签的时候,经常会遇到一个烦人的问题。
需要将循环标签中定义的bean的一个属性的数值赋值给select的option的value属性,这个时候如果使用bean:write标签,则会报错,无法成功赋值。这时候,如果还想使用select标签,可以使用jsp新的特性解决:
1:在page、requset、session、application中set一个名字叫做users的attribute。供jsp页面中的iterator标签使用
2:在jsp中:
     <html:select property="haha">
      <logic:iterate id="user" type="com.yourcompany.User" name="users">
       <html:option value="${user.id}">//这里不能使用bean:write,运行的时候会报错滴~
       <bean:write name="user" property="userName"/>
       </html:option>
      </logic:iterate>
     </html:select>
这样就可以让标签和属性赋值共存了。而且整个jsp页面看起来还算不坏:)
${}是好像jsp2.0的新特性,第一次使用是在大二暑假,我们做的一个项目正好遇到上面说的问题,而我又正好从一本书上看到了${}的使用方法,不过不刚刚正好的是那时候tomcat5好像刚刚推出,且支持jsp2.0规范,我们做的项目是使用那时候的WSAD开发的,部署在什么环境下我忘记了,反正WSAD好像没有与时俱进,竟然在使用${}的地方都报了警告。为了项目的“美观”,我们放弃了使用这个新特性。从那以后就没在怎么用过jsp,也就没再去使用${}。不过人算不如天算呀~~~现在又开始做jsp了,再次遇到了这个问题。凭记忆做了一下,正好成功:) 

你可能感兴趣的:(使用)