zoukankan      html  css  js  c++  java
  • 38.使用标签-基础表单标签

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html

    1.基础表单标签

    准备工作:建立struts2tag项目,搭建好struts2的开发环境。在html我们常用的基础表单标签主要有文本域、密码域、提交、重置四种。它们在strust2中可以通过标签来生成。下面建立login.jsp页面,与这四种标签相关的内容如下:

    <%@ page language="java"  pageEncoding="utf-8"%>

    <%@ taglib uri="/struts-tags" prefix="s" %>

    <html>

      <body>

           <s:form action="login" method="post" namespace="/my">

                  <s:textfield label="用户名" name="user.username" required="true" requiredposition="right"/>

    <s:password label="密码" name="user.password" required="true" />     
    <s:reset value="重置" align="left"/>
    <s:submit value="注册" align="left"/>

           </s:form>

      </body>

    </html>

    说明:label中的内容是显示在表单前的提示内容,required设为true,表示此表单项为必填内容。

    2.单选按钮和复选框:

    <s:radio list="#{1:'男',0:'女'}"  value="1"  label="性别" name="user.sex"/>
    <s:checkboxlist list="#{1:'足球',2:'排球',3:'蓝球',4:'网球'}" name="user.love" label="爱好"/>

    3.三种方式实现下拉列表

    <s:bean id="p" name="com.asm.NativePlaceFormAction"></s:bean>

    <s:bean name="com.asm.NativePlaceMapFormAction" id="pMap"></s:bean>

    <s:bean name="com.asm.NativePlaceProFormAction" id="pp"></s:bean>

    <s:select list="#p.place" label="籍贯" name="user.place"/>

    <s:select list="#pMap.place" label="籍贯2" name="user.place"/>

    <s:select list="#pp.place" listKey="pId" listValue="pName" label="籍贯3" name="user.place" headerKey="-1" headerValue="---省---" emptyOption="true"/>

    说明:三种方式实现下拉列表分别对应了三个java类,这三个类的内容为:
    NativePlaceFormAction主要代码为:
    package com.asm;

    public class NativePlaceFormAction extends ActionSupport {

           private List<String> place;      

           public NativePlaceFormAction(){

                  place=new ArrayList<String>();

                  place.add("山东省");

                  place.add("山西省");

                  place.add("河南省");

                  place.add("河北省");

                  place.add("四川省");

                  place.add("云南省");

           }

           ...省略place的get/set方法

    }

    NativePlaceMapFormAction主要代码为:
    package com.asm;

    public class NativePlaceMapFormAction extends ActionSupport {

           private Map<Integer, String> place;

     

           public NativePlaceMapFormAction() {

                  place = new HashMap<Integer, String>();

                  place.put(1, "山东省");

                  place.put(2, "山西省");

                  place.put(3, "河南省");

                  place.put(4, "河北省");

                  place.put(5, "四川省");

                  place.put(6, "云南省");

           }
           ...省略place的get/set方法

    }
    NativePlaceProFormAction主要代码为:
    package com.asm;
    public class NativePlaceProFormAction extends ActionSupport {

    private List<Object> place;     

           public NativePlaceProFormAction(){

                  place=new ArrayList<Object>();

                  new Province(1,"山东省","济南");

                  place.add(new Province(1,"山东省","济南"));

                  place.add(new Province(2,"山西省","太原"));

                  place.add(new Province(3,"河南省","郑洲"));

                  place.add(new Province(4,"河北","石家庄"));

                  place.add(new Province(5,"四川","成都"));

                  place.add(new Province(6,"云南","昆明"));

           }

           ...省略place的get/set方法

    }

    说明:此三种实现效果一样,但是在它们提交时传递给服务器的参数不同,具体可以参看login.jsp页面的源码。另外,这三种实现其实都依赖了<s:bean>设定的对象,如果我们不希望依赖<s:bean>来设定,可以通过配置action来实现:下面我们以NativePlaceFormAction说明:首先在struts.xml中配置此action,配置内容如下:
    <action name="npf" class="com.asm.NativePlaceFormAction">

                         <result>/login2.jsp</result>

    </action>
    随后,我们在login.jsp中增加如下内容:
           <a href="<%=request.getContextPath()%>/my/npf.action">另一个注册页面</a>
    其中login2.jsp中的关键内容为:
                  <s:select list="place" label="籍贯" name="user.place"/>

    我们可以发现:在login2.jsp中填写list的值时并没有用ognl表达式,因为我们通过npf.action来访问时,此Action已经被写入到了值栈中,所以我们可以直接引用。 后面所用到的实例,我们都会把这样的类做成Action,这样如果我们想通过这种方式访问便只需要在struts.xml中配置即可

  • 相关阅读:
    ColorMask
    InfoPanel
    什么是三消游戏
    Display file information in the document window
    Layer Comps
    Add words to your picture
    为什么质数是无穷的?
    嘉年华的来历
    MonoBehaviour.OnValidate
    Loadrunner中百分比模式和Vuser模式
  • 原文地址:https://www.cnblogs.com/sharpest/p/5587934.html
Copyright © 2011-2022 走看看