<s:combobox label="按公文类型查询" 
list="{'草稿' , '待审' , '已审'}" 
name="type"/> 
2个问题:
1. 我如何能让默认显示“待审”?就是一进界面看到的是待审,但注意顺序不能变,展开下拉列表待审依旧是第二位
2. 我如何能让label"按公文类型查询"和下拉列表显示在同一排?现在是自动生成了一个输入框,我不想要那个输入框

解决方案 »

  1.   

    另外我还想问句,这个struts标签的API在哪个包里啊?我下载了struts的api,但没看到标签的api啊
      

  2.   

    我下载了struts的api,但没看到标签的api啊
      

  3.   

    <s:combobox label="按公文类型查询" 
                list="#{'1':'草稿','2':'待审','3':'已审'}" 
                name="type"/> 
      

  4.   

    Java code
    <s:combobox label="不用写什么" 
                list="{'草稿' , '待审' , '已审'}" 
                name="type"
                headerKey="-1"
                headerValue="按公文类型查询" 
    /> 
    这样能解决你一个问题,默认选中可以再java后台设置好type='待审'那么访问这个页面时默认就选中了。。
      

  5.   

    参考下struts2文档里面的JSP:
    <-- Example One -->
    <s:bean name="struts.util.Counter" var="year">
      <s:param name="first" value="text('firstBirthYear')"/>
      <s:param name="last" value="2000"/>  <s:combobox label="Birth year" size="6" maxlength="4" name="birthYear" list="#year"/>
    </s:bean><-- Example Two -->
    <s:combobox
        label="My Favourite Fruit"
        name="myFavouriteFruit"
        list="{'apple','banana','grape','pear'}"
        headerKey="-1"
        headerValue="--- Please Select ---"
        emptyOption="true"
        value="banana" /><-- Example Two -->
    <s:combobox
       label="My Favourite Color"
       name="myFavouriteColor"
       list="#{'red':'red','green':'green','blue':'blue'}"
       headerKey="-1"
       headerValue="--- Please Select ---"
       emptyOption="true"
       value="green" />Velocity:
    #tag( ComboBox "label=Birth year" "size=6" "maxlength=4" "name=birthYear" "list=#year" )
      

  6.   


    确实,这样可以解决默认选中的问题。另一个问题的解决方法是把combobox换成select:       <s:select label="按公文类型查询" 
                list="{'草稿' , '待审' , '已审'}" 
                name="type"/> 
      

  7.   

    api在下Doc里有啊,网页的啊:
    http://struts.apache.org/2.1.8.1/docs/generic-tag-reference.html
    这页介绍了一些
      

  8.   

    怎么在后台设置好type='待审'啊?能说具体点么
    我是这样写的package com.cec.document;import com.opensymphony.xwork2.ActionContext;public class DOCLoginAction {

    @SuppressWarnings("unchecked")
    public String execute() throws Exception{
    ActionContext.getContext().getSession().put("type","待审");
    return "success";
    }
    }通过这个Action就跳到我要显示的页面,这个页面中我现在换成select了<s:select label="" 
    list="{'草稿' , '待审' , '已审'}" 
    headerKey="-1" 
                  headerValue="按公文类型查询" 
    name="type"/> 我感觉都是按你来的啊,但结果默认是显示“按公文类型查询”,不是“待审”
      

  9.   

    Java:public class ComboAction extends ActionSupport { private String type; public String execute() throws Exception {
    this.type = "待审";
    return SUCCESS;
    } public void setType(String type) {
    this.type = type;
    }

    public String getType() {
    return type;
    }

    }JSP:<s:select label="按公文类型查询" 
                list="{'草稿' , '待审' , '已审'}" 
                name="type"/> 
      

  10.   

    感谢楼上,你是对的,不过我最后想问下,我改了你一句this.type = "待审";为
    ActionContext.getContext().getSession().put("type","待审");
    就不行了,为什么呢?我觉得应该也可以啊
      

  11.   

    <s:combobox label="不用写什么" 
                list="{'草稿' , '待审' , '已审'}" 
                name="type" 
                headerKey="-1" 
                headerValue="按公文类型查询" 
    /> 
    这个是解决你以下问题的。
    2. 我如何能让label"按公文类型查询"和下拉列表显示在同一排?现在是自动生成了一个输入框,我不想要那个输入框
    默认那个问题就是在后台设置啊。ActionContext.getContext().getSession().put("type","待审"); 是放到session对象里面的,不是在action或者form(如果有的话)对象。
    页面显示的是action或者form对象对应的属性值,所以你设置了也没用。如果页面你写个<%=request.getSession.getAttribute("type")%>就能显示你设置在session里面的内容了,我是看了有得分的贴再回来看看有什么要说明的,不好意思回晚了。