struts2表单传值

struts2表单传值

    struts2表单传值类似栈,然后在action中把表单的各个名称用类属性表示就可以了。然后只需要加上get和set方法
   (1): 文本框:< s:textfield />
              提交: <s:textfield name="paramname"/> 
              Ation处理:用String或者int类型的 paramname  表示
              接收:(1): <s:textfield name=" paramname  "  value="%{ paramname  }"/>
                      (2): < s:property value = " paramname " / "#  paramname" >
   (2):单选框:<s:radio />
            提交和接受: <s:radio list="{'男','女'}" name="sex" label="性别"/> 
           
   (3):多选框: <s:select />
             提交和接收: <s:checkboxlist name="hobby" listKey="key" listValue="value" list="#{'1':'篮球', '2':'足球', '3':'乒乓球'}"  label="爱好"/> 其中key表示值,而value指显示的文字。
            Action处理:用一个list集合表示 (注意:千万不要用String[] 数组表示,否则,值无法传回)
   (4):下拉框: <s:select />
           提交和接受: <s:select list="#{1:'北京',2:'上海',3:'广东'}"  label="abc" listKey="key"  listValue="value"  name="address"/>
          Action处理: 可以用一个list数组或者String 字符串表示都可以。
=====================================================================================
其中:一般的表单都有三种方式传值:
(1):类似于set集合,只显示值,其中里面就是值

<s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>

 (2):类似于map,list前面是value值,后面是显示的值

 <s:select list="#{1:'aa',2:'bb',3:'cc'}"  label="abc" listKey="key" listValue="value"  headerKey="0" headerValue="aabb">

 3.从action-->jsp页面:

 <%

 HashMap map = new LinkedHashMap();

map.put(1,"aaa");map.put(2,"bbb");

map.put(3,"ccc");

request.setAttribute("map",map);

request.setAttribute("aa","2");

%>

JSP页面:
 <s:select list="#request.map"  label="abc" listKey="key" listValue="value" value="#request.aa"  headerKey="0" headerValue="aabb"></s:select>

你可能感兴趣的:(struts2表单传值)