action中有一个属性String:pname.
application 中有一个List<String>:pnames.
想要实现的功能:
在jsp页面中用select标签显示panmes中的所有内容,默认选择与pname相等的那个。
我开始用java代码
<select name="pname">
         <% 
List<String> pnames = (List<String>)application.getAttribute("pnames");
for(String name:pnames){
       String flag = "";
       if(name.equals(<s:property value="pname">)){
       flag = "selected";
       }
           %>
            <option value="<%= name %>" <%= flag %>><%= name %></option>
           <% 
            }
            %>
         </select>但这是不行的,java代码中不能混入struts2标签(红色部分),而且即使可用逻辑上也不合理。
求用OGNL实现上述功能,请高人指点。

解决方案 »

  1.   

    这个是用struts2 的select 标签实现的  jsp代码是   
      <s:select list="pnames"  value="pname">
        </s:select>
    Struts2的action代码为
    private String pname;

    private List pnames; public String getPname() {
    return pname;
    } public void setPname(String pname) {
    this.pname = pname;
    } public List getPnames() {
    return pnames;
    } public void setPnames(List pnames) {
    this.pnames = pnames;
    }

    public String execute(){
    List list = new ArrayList();
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    String pname = "c";
    this.setPname(pname);
    this.setPnames(list);
    return this.SUCCESS;
    }