80Struts2 OGNL表达式语言.docx

上传人:b****3 文档编号:3833991 上传时间:2022-11-25 格式:DOCX 页数:12 大小:61.59KB
下载 相关 举报
80Struts2 OGNL表达式语言.docx_第1页
第1页 / 共12页
80Struts2 OGNL表达式语言.docx_第2页
第2页 / 共12页
80Struts2 OGNL表达式语言.docx_第3页
第3页 / 共12页
80Struts2 OGNL表达式语言.docx_第4页
第4页 / 共12页
80Struts2 OGNL表达式语言.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

80Struts2 OGNL表达式语言.docx

《80Struts2 OGNL表达式语言.docx》由会员分享,可在线阅读,更多相关《80Struts2 OGNL表达式语言.docx(12页珍藏版)》请在冰豆网上搜索。

80Struts2 OGNL表达式语言.docx

80Struts2OGNL表达式语言

第80章Struts2OGNL表达式语言

本章通过一个示例程序,学习使用对象-图形导航语言(OGNL)的不同语法。

OGNL表达式语言简单而强大。

使用OGNL表达式语言辅助访问存储位于ActionContext内的ValueStack中的值。

80.1访问数组示例程序

首先,我们来看一看怎样使用OGNL访问一个String变量数组。

80.1.1Action类

在Action类中,我们创建一个字符串数组,并对它进行初始化。

如下所示:

SampleArrayAction.java

packagemon.action;

 

publicclassSampleArrayAction{

 

privateString[]sampleArray=newString[]{“item1”,”item2”,”item3”};

 

publicStringexecute()throwsException{

return“success”;

}

publicString[]getSampleArray(){

returnsampleArray;

}

publicvoidsetSampleArray(String[]sampleArray){

this.sampleArray=sampleArray;

}

}

80.1.2JSP页面

一个普通的jsp,使用OGNL表达式语言访问数组值。

sampleArrayPage.jsp

<%@pagecontentType="text/html;charset=UTF-8"%>

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

 

OGNL访问数组示例

 


sampleArray:

propertyvalue=”sampleArray”/>

sampleArray.length:

propertyvalue=”sampleArray.length”/>

sampleArray[0]:

propertyvalue=”sampleArray[0]”/>

[0].sampleArray:

propertyvalue=”[0].sampleArray”/>

top.sampleArray:

propertyvalue=”top.sampleArray”/>

80.1.3struts.xml

在struts.xml中进行配置,将所有的东西连接在一起。

struts.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"

"http:

//struts.apache.org/dtds/struts-2.0.dtd">

 

 

 

pages/sampleArrayPage.jsp

 

 

80.1.4运行测试

访问http:

//localhost:

8080/Struts2Example/sampleArrayAction.action

因为我们的对象位于ValueStack顶端,所以我们能使用[0]表示法来访问它。

如果我们的对象位于自顶而下的第二个位置,那么我们可以使用[1]表示法来访问它。

我们也可以使用top关键字达到同样的效果。

top返回ValueStack顶端的值。

80.2访问List示例程序

现在,我们来看一看怎样使用OGNL表达式语言访问一个ArrayList。

80.2.1Action类

在Action类中,我们创建并初始化一个ArrayList。

如下所示:

SampleListAction.java

packagemon.action;

 

importjava.util.ArrayList;

importjava.util.List;

publicclassSampleListAction{

 

privateListsampleList=newArrayList();

{

sampleList.add(“listItem1”);

sampleList.add(“listItem2”);

sampleList.add(“listItem3”);

}

 

publicStringexecute()throwsException{

return“success”;

}

publicListgetSampleList(){

returnsampleList;

}

publicvoidsetSampleList(ListsampleList){

this.sampleList=sampleList;

}

}

80.2.2JSP页面

一个普通的jsp,使用OGNL表达式语言访问ArrayList的值。

sampleListPage.jsp

<%@pagecontentType="text/html;charset=UTF-8"%>

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

 

OGNL访问List示例

 


sampleList:

propertyvalue=”sampleList”/>

sampleList.size:

propertyvalue=”sampleList.size”/>

sampleList[0]:

propertyvalue=”sampleList[0]”/>

80.2.3struts.xml

在struts.xml中进行配置,将所有的东西连接在一起。

struts.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"

"http:

//struts.apache.org/dtds/struts-2.0.dtd">

 

 

 

pages/sampleArrayPage.jsp

 

pages/sampleListPage.jsp

 

 

80.2.4运行测试

访问http:

//localhost:

8080/Struts2Example/sampleListAction.action

80.3访问List示例程序

现在,我们来看一看怎样使用OGNL表达式语言访问一个Map。

80.3.1Action类

在Action类中,我们创建并初始化一个HashMap。

如下所示:

SampleMapAction.java

packagemon.action;

 

importjava.util.HashMap;

importjava.util.Map;

publicclassSampleMapAction{

 

privateMapsampleMap=newHashMap();

privateStringcarMake;

{

sampleMap.put(newInteger

(1),“one”);

sampleMap.put(newInteger

(2),“two”);

sampleMap.put(newInteger(3),“three”);

}

 

publicStringexecute()throwsException{

return“success”;

}

publicMapgetSampleMap(){

returnsampleMap;

}

publicvoidsetSampleMap(MapsampleMap){

this.sampleMap=sampleMap;

}

publicStringgetCarMake(){

returncarMake;

}

publicvoidsetCarMake(StringcarMake){

this.carMake=carMake;

}

}

80.3.2JSP页面

一个普通的jsp,使用OGNL表达式语言访问Map的值。

sampleMapPage.jsp

<%@pagecontentType="text/html;charset=UTF-8"%>

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

 

OGNL访问Map示例



sampleMap[1]:

propertyvalue=”sampleMap[1]”/>

sampleMap.size:

propertyvalue=”sampleMap.size”/>

selectlist=”#{‘make1’:

’福特,’make2’:

’本田’,’make3’:

’丰田’}”name=”carMake”label=”Select”>

select>

80.3.3struts.xml

在struts.xml中进行配置,将所有的东西连接在一起。

struts.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"

"http:

//struts.apache.org/dtds/struts-2.0.dtd">

 

 

 

pages/sampleArrayPage.jsp

 

pages/sampleListPage.jsp

 

pages/sampleMapPage.jsp

 

 

80.3.4运行测试

访问http:

//localhost:

8080/Struts2Example/sampleMapAction.action

80.4访问对象属性示例程序

最后,我们来看一看怎样使用OGNL表达式语言访问一个User对象的name属性。

80.4.1Action类

在Action类中,我们创建并初始化一个User对象。

如下所示:

SampleObjectAction.java

packagemon.action;

 

publicclassSampleObjectAction{

 

privateUseruser=newUser();

{

user.setName(“学Struts2”);

}

 

publicStringexecute()throwsException{

return“success”;

}

publicStringgetQuote(){

return“不要考虑,开始行动”;

}

publicUsergetUser(){

returnuser;

}

publicvoidsetUser(Useruser){

this.user=user;

}

}

User类的定义如下:

packagemon.model;

publicclassUser{

privateStringname;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

}

80.4.2JSP页面

一个普通的jsp,使用二级(层)OGNL表达式语言访问user的name属性。

sampleObjectPage.jsp

<%@pagecontentType="text/html;charset=UTF-8"%>

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

 

OGNL访问对象属性示例



user.name

propertyvalue=”user.name”/>

也可以在action类中调用一个方法。

如下所示:

quote():

propertyvalue=”quote”/>

80.4.3struts.xml

在struts.xml中进行配置,将所有的东西连接在一起。

struts.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"

"http:

//struts.apache.org/dtds/struts-2.0.dtd">

 

 

 

pages/sampleArrayPage.jsp

 

pages/sampleListPage.jsp

 

pages/sampleMapPage.jsp

 

pages/sampleObjectPage.jsp

 

 

80.4.4运行测试

访问http:

//localhost:

8080/Struts2Example/sampleObjectAction.action

2011-10-20

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1