<s:set name="id" value="<%= "'" +request.getParameter("id") + "'"%>
我见Struts2 很多教材都有这种写法  但是解析jsp页面的时候报错啊。。汗死了这种写法不可以么<s:select  >
怎么设置 根据参数来动态的选中对应的option呢,高手们都出来啊,嘿嘿 

解决方案 »

  1.   

    <s:set name="id" value="<%= "'" +request.getParameter("id") + "'"%>
    这种写法很傻,直接这样就可以了
    <s:set name="id" value="${id}" />是struts2的标签吗?建议还是使用jstl的就可以了,struts自己的标签一点不好用速度还慢
    select里面通常用foreach 填充option
    <c:forEach var="item" items="${list}" varStatus="st">
       <option value="${item.id}">${item.value}</option>
    </c:forEach>
      

  2.   

    <s:set name="id" value="%{#request.id}" ......<s:select name="sex" list="#{'0':'男','1':'女','2':'其他'}"></s:select>
    sex如果是‘1’,‘女’被选中
      

  3.   

    <s:set name="id" value="${id}" />这样得值就对了,相当于getParameter()
    动态取的话
    <select>
    <s:if test="#id==1">
    <option selected="selected"></option>
    </s:if>
    </select>
      

  4.   

    Struts2 基本上已经没有这种写法了
    基本上是这样
    s:set name="id"/>
    只有这个id在action里面有get和set方法
    至于下拉框的话:
    <s:select name="addr" list="#{'0':'请选择身份','HN':'湖南','BJ':'北京'}"></s:select>