修改基本信息页面时action放了两个session,分别是
map:bc_id,bc_name,bmc_name,bmc_id(这是一条查询出来的数据)
list:bc_id,bc_name(这是一组查询出来的数据)
如何实现让<s:select>标签中,默认显示map中的bc_name,提交map中的bc_id,同时下拉中选项显示为list中的bc_name,对应提交list中的bc_id
似乎headerValue=""这个属性不认识el表达式啊,总是给我原样输出${},用%{#}就是什么都不输出,其他就是页面显示不出来,提示无法接受session里的值有高手在没别老让我结不了贴啊

解决方案 »

  1.   

    <s:select name="id" list="%{#session.list}" listKey="bc_id" listValue="bc_name" headerKey="%{#session.bc_id}" headerValue="%{#session.bc_name}" />
      

  2.   

    楼上的代码无效,下拉菜单默认什么都不显示,控制台打印map和list无误
    页面其他显示无误
    。其实早就说了“总是给我原样输出${},用%{#}就是什么都不输出”
      

  3.   

     ${}  %{#} 用不了 就直接用在页面用  for循环  <%=%> 获取, 不用 <s:select>标签
      

  4.   

    <s:iterator value="#session.map">
    <s:select headerKey="%{key}" headerValue="%{value}" list="%{#session.lst}" listKey="bc_id" listValue="bc_name" name="name"></s:select>
    </s:iterator>