Struts2标签 逻辑标签和UI标签

来源:互联网 发布:阿里云学生机怎么样 编辑:程序博客网 时间:2024/06/11 17:51

效果如下图:



先配置struts.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC          "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"          "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>          <package name="student" namespace="/" extends="struts-default">                   <action name="student" class="star.july.ognl.OgnlDemo" method="set">                             <result name="success">/struts2.jsp</result>                   </action>          </package> </struts>

再创建Action类:

package star.july.ognl;import java.util.ArrayList;import java.util.List;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class OgnlDemo extends ActionSupport{    Student student;    List list =new ArrayList();    List<Student> ls = new ArrayList<Student>();    public OgnlDemo(){        list.add("小年");        list.add("小黑");        list.add("十品");        list.add("傻鸟");                ls.add(new Student("华为",2300));        ls.add(new Student("小米",1900));        ls.add(new Student("魅族",1300));        ls.add(new Student("一加",1999));    }            //重点    //存放到对象栈中 方法:getXxx()    public List<Student> getList(){        return ls;            }    //传到对象栈中使UI标签有默认选择    public String getSex(){        return "女";    }        //爱好的默认多选    public List getHobby(){        list.add("乒乓球");        list.add("篮球");        return list;    }            public void setStudent(Student student) {        this.student = student;    }        public String set(){//      student.setName("陈二狗");        ActionContext ac = ActionContext.getContext();        //自己放值        ac.put("name", student);                Map rp = (Map) ac.get("request");        rp.put("name", student);        Map<String, Object> session = ac.getSession();        session.put("name", student);        Map<String, Object> application = ac.getApplication();        application.put("name", student);        Map<String, Object> parameters = ac.getParameters();        parameters.put("name", student);                System.out.println(student);        return SUCCESS;    }}


效果页面,重点!

struts2.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>title</title>             <meta http-equiv="pragma" content="no-cache">          <meta http-equiv="cache-control" content="no-cache">          <meta http-equiv="expires" content="0">          <!--          <link rel="stylesheet" type="text/css" href="styles.css">          -->  </head>   <body>  <!-- Struts2标签使用 -->          <!-- 页面逻辑标签 -->          <%--                   s:set                             把变量定义到值栈中的映射栈                             var:名称                             value:值。默认执行ognl表达式                             注意:                             ognl表达式->字符串:加上引号:‘ognl表达式’                             字符串->ognl表达式: %{字符串}           --%>          <s:set var="name"  value="'jack'"></s:set>          <s:textfield value="%{#name}"></s:textfield><br/>                              <%--                   s:property:从值栈取出数据(对象栈或者映射栈)           --%>           <s:property value="name"></s:property><br/> <%--输出jack --%>                               <%--                    <s:if/><s:else if><s:else/>            --%>                       <s:set var="grade" value="'78'">            </s:set>            <s:if test="#grade>=80&&#grade<=100">                    优秀            </s:if>            <s:elseif test="#grade>=60&&#grade<80">                    良好    <%--显示该值 --%>            </s:elseif>            <s:else >                    不及格            </s:else>                                  <%--                    s:iterator                             原理:把value集合的数据取出,存储一个叫p变量(p变量放入映射栈的key)                             value:执行ognl表达式             --%>             <br>             <%--从对象栈中取值 --%>             <s:iterator value="list" var="p">                             手机:<s:property value="#p.name"/> ,价格<s:property value="#p.price"/><br>             </s:iterator>                         <%--链接标签 --%>             <a href="<s:url value='/ognl.jsp'/>">Ognl.jsp</a>                                                             <%--                    struts2的UI标签              --%>              <s:form>                    <%--                             name:                              1)作为input的name属性                              2)数据回显。省略value=“ognl表达式”                     --%>                                      <s:textfield name="name" label="姓名:" ></s:textfield>                                            <s:password name="password" label="密码"></s:password>                                       <%-- list:遍历项目,默认执行ognl表达式 --%>                                       <%--单选按钮 --%>                                       <%--默选要从action传来值 --%>                                       <s:radio list="{'男','女'}" name="sex" label="性别:"></s:radio>                                       <%--多选按钮 --%>                                       <s:checkboxlist list="{'乒乓球','羽毛球','游泳','篮球'}" name="hobby" label="运动爱好"></s:checkboxlist>                                       <s:select list="{'广东省','江苏省','黑龙江省'}" name="province" label="省份:"></s:select>                                       <s:select list="#{'p1':'广东省','p2':'江苏省','p3':'黑龙江省'}" name="province" label="省份:"></s:select>                                                    </s:form>                       <s:debug></s:debug>  </body></html>


0 0
原创粉丝点击