189 8069 5689

java代码使用ognl java代码使用说明

求jsp中OGNL表达式,select标签的用法

终于解决你的问题了。因为OGNL和JSTL表达式不能嵌套使用,我的解决方法是使用JSP的自定义标签。下面是我自己写的JSP标签代码(放在/WEB-INF/tags目录下):

成都创新互联业务包括:成品网站、企业产品展示型网站建设、品牌网站设计、电子商务型网站建设、成都外贸网站建设公司(多语言)、购物商城网站建设、定制开发、成都全网营销推广等。效率优先,品质保证,用心服务是我们的核心价值观,我们将继续以良好的信誉为基础,秉承稳固与发展、求实与创新的精神,为客户提供更全面、更优质的互联网服务!

%@ tag pageEncoding="UTF-8"%

%@ attribute name="username"%

%@ attribute name="name1"%

%

String str="SELECTED";

String username=(String)request.getAttribute("username");

String name1=(String)request.getAttribute("name1");

if(username.equals(name1)){

%

%out.print(str);%

%}%

下面是测试页面的代码:

%@ page language="java" contentType="text/html; charset=GBK"%

!-- 引入自定义标签和struts2标签 --

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

%@ taglib prefix="tags" tagdir="/WEB-INF/tags"%

主体代码为:

select name="pname"

s:iterator value="#attr.pnames" status="st" id="name1"

option tags:iterator username="${username}" name1="${name1}"/

value=s:property value="#st.count" /

s:property value="name1" /

/option

/s:iterator

/select

属性名我用的username即是你说的在后台定义pname。下面是我测试结果的页面代码:

html

head

title欢迎/title

/head

body

select name="pname"

option value=1

qqq

/option

option value=2

aaaaaaa

/option

option value=3

bbbbbbb

/option

option SELECTED value=4

ddddddd

/option

option value=5

ccccccc

/option

/select

/body

/html

上面实现在IE6中测试成功,但是在Firefox中测试不成功,页面代码依然是上面代码,但是firefox不自动选择默认项

javastruts问题OGNL与EL表达式有什么区别如何区别

EL表达式取属性:

${teacher.name}OGNL表达式取属性:

#teacher.name题外:问这类问题有什么意义呢吗初学struts2的话直接用OGNL免得分心会OGNL的话EL一看就会用;用Spring

MVC的话直接用EL表达式;OGNL写法上很多时刻没EL表达式简洁但功能要比EL表达式强小我爱好EL表达式多点。极不爱好struts2的的写法还不如直接用el:${loginNames}

java中能使用ognl表达式吗

Java中本身没有OGNL表达式,OGNL表达式,是需要自己实现的,比如Struts2自己的OGNL表达式,或是Spring的SPEL表达式,他们都是通过Java代码实现的java中能使用ognl表达式吗

如何使用iterator获取java中从数据库的数据,代码如下,请指教

可以使用struts的ognl标签s:iterator

s:iterator var="q" value="user"

属性的话s:properpoty value="username"

或者jstl的c:foreach

c:forEach var="map" items="${list}"

属性直接用el取

网上很多相关的用法 不过建议看api

如果用了struts2最好用ognl 功能很强大

求助java,struts2中,OGNL标签和表达式的问题..

是你理解错了,看了你截图,就知道你看的是汤阳光的OA+JBPM视频。

加#号是从context中取

如果没加#号,就先从root中取,如果没取到就去context中取,所以你看到了信息

JAVA 静态类写法和调用

js?还是指JSP的脚本段。先看一般是如何显示数据吧,最后在介绍js:

我们可以使用JSP页面的脚本段,首先写个Bean类:

public class SomeBean{

public String getName(){return "123";}

public void setName(String name){}

}

!-- test.jsp--

%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%

%

SomeBean bean=new SomeBean();

out.println("Bean-name is "+bean.getName());

%

就是这样,脚本段里面的东西其实就是java代码,而JSP页面本质就是servlet。我不太清楚你是否了解JSP的编译,如果你不知道的话我建议你到百度搜一下"JSP的java代码"一类的东西看看,这是基础。

你说的静态类应该是指类中包含静态域吧,除了内部类可以是静态的外,别的类都不行。不论是静态域还是普通域,用上面的脚本段都可以搞定。

再看看struts,静态的显示我放在后面了:

首先我们来写一个Action类:

public class LoginAction{

public String execute(){

return SUCCESS;

}

public void setValue(SomeBean value){

this.value=value;

}

public SomeBean getValue(){

return this.value;

}

private SomeBean value;

}

再写出Bean类:

public class SomeBean{

public String getName(){}

public void setName(String name){}

}

配置Action应该不用说了,没什么特别的,不会就上网查吧。

我们现在说方法。

方法一:

使用OGNL表达式。你可以使用struts自带的标签,他们都支持OGNL,比如s:property。举个例子:

!--test.jsp--

%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%

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

s:property value="value.name"/

你访问LoginAction的时候s:property标签就会显示getValue().getName();

如果你想了解更多的struts2标签和OGNL表达式建议去找更详尽的资料。

方法二:

当然是使用JSP本身的性质了。通过request和session来获取值。

我们把Action类改一下:

public class LoginAction{

public string execute(){

SomeBean value=new SomeBean();

value.setName("sfsfjsfje");

ActionContext context=ActionContext.getContext();

//往request里放attribute

context.put("value",value);

//往session里放

context.getSession().put("value",value);

return SUCCESS;

}

}

接下来我们改页面:

!-- test.jsp --

%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%

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

%= ((SomeBean) request.getAttribute("value")).getName() %

%= ((SomeBean) session.get("value")).getName() %

OGNL也可以显示静态域:

public class SomeBean{

public static String name="123";

public static String getAlias(){return "abc";}

}

public class LoginAction{

public String execute(){return SUCCESS;}

}

配置文件不写了。

页面:

!--test.jsp--

%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%

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

!--还是用s:property--

s:property value="@SomeBean@name"/

s:property value="@SomeBean@getAlias()"/

当你访问LoginAction时就会显示SomeBean的name和getAlias()。不知道你是不是问的这个。

如果你要在js中调用数据也很容易:

!-- test.jsp --

%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%

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

script language="javascript" type="text/javascript"

var name="s:property value="@SomeBean@name"/";

/script

这样js中就有相应的数据了。


分享名称:java代码使用ognl java代码使用说明
链接分享:http://jkwzsj.com/article/doodeej.html

其他资讯