首页 > 代码库 > 5.Struts2的OGNL表达式
5.Struts2的OGNL表达式
1.创建javaweb项目Struts2_Part4_OGNL并在WebRoot下的WEB-INF下的lib文件夹下添加如下jar文件
1 commons-fileupload-1.2.1.jar 2 3 commons-io-1.3.2.jar 4 5 freemarker-2.3.15.jar 6 7 mybatis-3.2.2.jar 8 9 ognl-2.7.3.jar10 11 ojdbc14.jar12 13 struts2-core-2.1.8.1.jar14 15 xwork-core-2.1.6.jar
2.在src下创建struts.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "struts-2.1.7.dtd" > 3 <struts> 4 <!-- 中文乱码处理 --> 5 <constant name="struts.i18n.encoding" value="UTF-8"/> 6 <package name="default" namespace="/" extends="struts-default"> 7 <!-- 全局配置 --> 8 <global-results> 9 <result name="error">error.jsp</result>10 </global-results>11 12 <!-- 时间格式化配置 -->13 <action name="currentDate" class="com.action.DateFormatAction" method="getFormateDate">14 <result name="success">ognldemo.jsp</result>15 </action>16 17 <!-- Student的控制器的配置 -->18 <action name="student" class="com.action.StudentAction" method="getInfo">19 <result name="success">index.jsp</result>20 </action>21 22 <!-- 详细信息的控制器的配置 -->23 <action name="stuinfo" class="com.action.StuInfoAction" method="getInfo">24 <result name="success">success.jsp</result>25 </action>26 </package>27 </struts>
3.在src下的com.entity包下创建Student.java文件
1 package com.entity; 2 3 public class Student { 4 private Integer sid; 5 private String sname; 6 7 8 public Student() { 9 }10 public Student(Integer sid, String sname) {11 this.sid = sid;12 this.sname = sname;13 }14 public Integer getSid() {15 return sid;16 }17 public void setSid(Integer sid) {18 this.sid = sid;19 }20 public String getSname() {21 return sname;22 }23 public void setSname(String sname) {24 this.sname = sname;25 }26 @Override27 public String toString() {28 return "Student [sid=" + sid + ", sname=" + sname + "]";29 }30 }
4.在src下的com.action包下创建StudentAction.java文件
1 package com.action; 2 3 import com.entity.Student; 4 import com.opensymphony.xwork2.ActionSupport; 5 6 public class StudentAction extends ActionSupport { 7 8 9 10 @Override11 public String execute() throws Exception {12 13 return ERROR;14 }15 16 private Student stu;17 public String getInfo(){18 stu=new Student(1, "胡淑红");19 return SUCCESS;20 }21 22 public Student getStu() {23 return stu;24 }25 26 public void setStu(Student stu) {27 this.stu = stu;28 }29 30 }
5.在src下的com.action包下创建StuInfoAction.java文件
1 package com.action; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import com.entity.Student; 7 import com.opensymphony.xwork2.ActionSupport; 8 9 public class StuInfoAction extends ActionSupport{10 private String[] ah;11 private List<Student> list;12 public String getInfo(){13 if(ah!=null){14 System.out.println("爱好是:");15 for (int i = 0; i < ah.length; i++) {16 System.out.print(ah[i]+",");17 }18 }else{19 System.out.println("没有获取参数");20 list=new ArrayList<Student>();21 Student stu=new Student(1, "holly");22 list.add(stu);23 }24 25 return SUCCESS;26 }27 28 public String[] getAh() {29 return ah;30 }31 32 public void setAh(String[] ah) {33 this.ah = ah;34 }35 36 public List<Student> getList() {37 return list;38 }39 40 public void setList(List<Student> list) {41 this.list = list;42 }43 }
6.在src下的com.action包下创建DateFormatAction.java文件
1 package com.action; 2 3 import java.util.Date; 4 5 import com.opensymphony.xwork2.ActionSupport; 6 7 public class DateFormatAction extends ActionSupport { 8 //1.定义私有的Date类型的对象 9 private Date currentDate;10 //2.action核心处理业务的方法11 public String getFormateDate(){12 13 //创建Date对象,也就是给成员对象赋值14 currentDate=new Date();15 System.out.println("系统时间:"+currentDate);16 return SUCCESS;17 }18 //3.代理对象使用的getter和setter19 public Date getCurrentDate() {20 return currentDate;21 }22 public void setCurrentDate(Date currentDate) {23 this.currentDate = currentDate;24 }25 }
7.在WebRoot下的WEB-INF下web.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 7 <filter> 8 <filter-name>struts2</filter-name> 9 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>10 </filter>11 <filter-mapping>12 <filter-name>struts2</filter-name>13 <url-pattern>/*</url-pattern>14 15 </filter-mapping>16 <welcome-file-list>17 <welcome-file>ognldemo.jsp</welcome-file>18 </welcome-file-list>19 </web-app>
8.在WebRoot下创建ognldemo.jsp文件
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@taglib uri="/struts-tags" prefix="s" %> 3 <% 4 String path = request.getContextPath(); 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 6 %> 7 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 9 <html>10 <head>11 <base href="<%=basePath%>">12 13 <title>My JSP ‘index.jsp‘ starting page</title>14 <meta http-equiv="pragma" content="no-cache">15 <meta http-equiv="cache-control" content="no-cache">16 <meta http-equiv="expires" content="0"> 17 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">18 <meta http-equiv="description" content="This is my page">19 <!--20 <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/styles.css">21 -->22 </head>23 24 <body>25 <!-- 在request作用域里设置age变量,值为18 -->26 <s:set name="age" value="18" scope="request"/>27 28 <!-- 直接输出request作用域变量的值 -->29 <s:property value="#request.age"/>30 <s:property value="#attr.age"/>31 32 <!-- 在session作用域里设置name变量,值为holly -->33 <s:set name="sname" value="‘holly‘" scope="session"/>34 35 <!-- 直接输出session作用域变量的值 -->36 <s:property value="#session.sname"/>37 <s:property value="#attr.sname"/>38 39 <!-- 在application作用域里设置sex变量,值为女 -->40 <s:set name="sex" value="‘女‘" scope="application"/>41 42 <!-- 直接输出session作用域变量的值 -->43 <s:property value="#application.sex"/>44 <s:property value="#attr.sex"/>45 46 <!-- 格式化后台action发过来的Date类型的系统时间 -->47 格式化的时间:<s:date name="currentDate" format="dd/MM/yyyy"/>48 没有格式化:<s:date name="currentDate" />49 50 </body>51 </html>
9.在WebRoot下创建index.jsp文件
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@taglib uri="/struts-tags" prefix="s" %> 3 <% 4 String path = request.getContextPath(); 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 6 %> 7 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 9 <html>10 <head>11 <base href="<%=basePath%>">12 13 <title>My JSP ‘index.jsp‘ starting page</title>14 <meta http-equiv="pragma" content="no-cache">15 <meta http-equiv="cache-control" content="no-cache">16 <meta http-equiv="expires" content="0"> 17 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">18 <meta http-equiv="description" content="This is my page">19 <!--20 <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/styles.css">21 -->22 </head>23 24 <body>25 学生编号:<s:property value="stu.sid"/>26 学生姓名:<s:property value="stu.sname"/>27 <form action="stuinfo" method="post">28 爱好:29 <input type="checkbox" name="ah" value="吃饭"/>吃饭30 <input type="checkbox" name="ah" value="睡觉"/>睡觉31 <input type="checkbox" name="ah" value="张乐素质很高"/>张乐素质很高32 <input type="submit" value="提交"/>33 </form> 34 </body>35 </html>
10.在WebRoot下创建success.jsp文件
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@ taglib uri="/struts-tags" prefix="s" %> 3 <% 4 String path = request.getContextPath(); 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 6 %> 7 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 9 <html>10 <head>11 <base href="<%=basePath%>">12 13 <title>My JSP ‘index.jsp‘ starting page</title>14 <meta http-equiv="pragma" content="no-cache">15 <meta http-equiv="cache-control" content="no-cache">16 <meta http-equiv="expires" content="0"> 17 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">18 <meta http-equiv="description" content="This is my page">19 <!--20 <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/styles.css">21 -->22 </head>23 24 <body>25 操作成功26 属性获取:27 <s:property value="ah[0]"/>28 <s:property value="ah[1]"/>29 <br/>30 <s:iterator value="list">31 sid:<s:property value="sid"/>32 <br/>33 sname:<s:property value="sname"/>34 </s:iterator>35 36 </body>37 </html>
11.在WebRoot下创建error.jsp文件
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9 <head>10 <base href="<%=basePath%>">11 12 <title>My JSP ‘index.jsp‘ starting page</title>13 <meta http-equiv="pragma" content="no-cache">14 <meta http-equiv="cache-control" content="no-cache">15 <meta http-equiv="expires" content="0"> 16 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">17 <meta http-equiv="description" content="This is my page">18 <!--19 <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/styles.css">20 -->21 </head>22 23 <body>24 操作失败25 </body>26 </html>
5.Struts2的OGNL表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。