HTML标签能应用OGNL表达式吗?

在一个Struts项目的一个JSP页面中,我有一个div的class是根据request中的某个值来选择,like this:

 <div class="%{#request.flag==1 ? 'class-1' : 'class-2'>

这样可以吗?若不可以,应该怎么写呢?多谢各位了!

0

9个回答

你可以借鉴一下这个
bgcolor="${sta.count%2 == 0?'#8FBC8F':'#E9EDF4'}"

class="${requestScope.flag==1?'class-1':'class-2'}" 试试这个看看

或是
jsp页面引入c标签 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

然后用if判断


/c:if
根据数值不同显示不同div

0

直接用struts的标签不就行了,
<%@ taglib prefix="s" uri="/struts-tags"%>

···

/s:if

···

/s:else

0

//引入标签库
<%@ taglib prefix="s" uri="/struts-tags"%>

···
/s:if

····
/s:else

0

我真是醉了,怎么显示成那样了,引入标签库之后,用来判断,自己搜一下吧

0
<s:if test="#request.flag==1"></s:if>

/s:else



0

完整版的:
页面开头引入struts标签库

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


 <s:if test="#request.flag==1">
            ···
 </s:if>
 <s:else>
        ···
 </s:else>

这样,你可以搜一下struts标签的用法,很简单的

0

如果你是html页面,就不要用类似于这样的导包了<%@ taglib prefix="s" uri="/struts-tags"%>
自己不觉得怪么?要么你就好好用jsp页面

0
0

Struts标签库几乎可以代替JSTL的标签库:
‘#’符号相当于调用ActionContext.getContext();
// #session.name <==> ActionContext.getContext().getSession().get(“name”);
表达式语言主要有以下几大好处:
1. 避免(MyType) request.getAttribute()和myBean.getMyProperty()之类的语句,使页面更简洁;
2. 支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能;
3. 简单明了地表达代码逻辑,使用代码更可读与便于维护。
Struts 2默认的表达式语言是OGNL,原因是它相对其它表达式语言具有下面几大优势:
1. 支持对象方法调用,如xxx.doSomeSpecial();
2. 支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@format('foo %s', 'bar')或@tutorial.MyConstant@APP_NAME;
3. 支持赋值操作和表达式串联,如price=100, discount=0.8, calculatePrice(),这个表达式会返回80;
4. 访问OGNL上下文(OGNL context)和ActionContext;
5. 操作集合对象。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
OGNL和EL表达式对比 Struts2标签和JSTL对比
Struts2中的标签 OGNL表达式,EL表达式 JSTL 对比
简单的ui标签、ognl表达式常见符号
一、简单的ui标签: 1、简单的登陆页面 2、theme属性的作用: 页面代码对比: 3、可以通过全局配置文件修改
struts2中ognl表达式取值赋值用法
Object Graphics Navigation Language(对象图导航语言) OGNL是一种表达式语言技术,封装在ognl.jar开发包中. 可以很方便的对对象的属性进行获取和设置. 1)什么是EL,有什么用 属于表达式语言,可以访pageContext,request,session,application存储范围的数据.可以简化JSP程序. 2)O...
Struts2 OGNL表达式的iterator标签使用详解
好记性不如赖笔头…………OGNL 的iterator迭代器详解 s:iterator标签属性   value:必填,值为OGNL表达式,要操作的数据集     var : 当前遍历数据的别名   当使用了此属性后:var的值做为KEY,当前遍历的数据做为value,存储到contextMap中,访问方法:#别名.属性
Struts2 如何使用OGNL表达式(三十八)
1.OGNL是Object Graph Navitagtion Language,对象导航语言) 是一种功能强大的EL(Expression Language,表达式语言)。通过OGNL,可以使用简单一直的表达式语法,存储对象的任意属性,调用对象的方法,遍历整个对象的结果图和实现字段类型转换等功能。 2.OGNL表达式有如下几个特点:   A: 将视图元素好模型对象绑定在一起   B:  将表格
JSP页面使用OGNL表达式
  OGNL简介? 1.ognl是什么? OGNL:object graph navigation language,对象图形导航语言,一种表达式语言。   ognl的原理?    OGNL表达式能够在jsp页面上直接通过表达式进行java后台的数据显示主要依赖于值栈。值栈中的数据结构包括两种:对象栈和map栈,其中对象栈是list而map栈就同名字一样是map。   二:OGNL的使...
3.OGNL表达式debug标签无效
Struts2 在jsp中使用&amp;amp;lt;s:debug/&amp;amp;gt;标签无效,检查标签库已导入: &amp;amp;lt;%@ taglib uri=&amp;quot;/struts-tags&amp;quot; prefix=&amp;quot;s&amp;quot; %&amp;amp;gt; 却不能显示,原因是&amp;amp;lt;s:debug/&amp;amp;gt;标签是为了方便开发的,默认是关闭的在产品中不建议使用,要在开发时使用可在struts.xml修
Struts2学习总结(3)--值栈,Ognl表达式,Struts标签库,国际化,数据校验,拦截器
本文包括以下五个部分: 1. 值栈。 2. Ognl表达式。 3. struts2标签库。 4. 国际化。 5. 表单数据校验 6. 拦截器。 7. struts2的执行过程。
struts2使用OGNL表达式访问方法与属性
//访问静态变量         PI:&amp;lt;s:property value=&quot;@java.lang.Math@PI&quot;/&amp;gt; &amp;lt;br&amp;gt;         //访问静态方法          COS:&amp;lt;s:property value=&quot;@java.lang.Math@cos(1)&quot;/&amp;gt;              //访问对象方法 &amp;lt;s:proper...
strut2的ognl的s标签获取下拉框并选中
s标签获取下拉框并选中 状态表示: ${dept.state==1?"启用":"禁用" }
用OGNL表达式取值栈中的值
首先,简单介绍一下Struts2标签 使用Struts2标签,需要先在页面中引入Struts2标签库: 标签库的位置在struts2-core-2.3.1.2.jar包中的META-INF/struts-tags.tld ______________________________________________________________________________________
struts2: OGNL表达式、OGNL表达式与struts2结合
OGNL表达式 OGNL:对象视图导航语言.  ${user.addr.name} 这种写法就叫对象视图导航. OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能. 使用OGNL准备工作  导包:struts2 的包中已经包含了.所以不需要导入额外的jar包 。  代码准备 语法: 基本取值 赋值
(十)Struts2进阶之OGNL在Struts2中的使用
上篇文章把OGNL单独拿出来讲了,这篇文章就讲讲OGNL结合Struts2的使用。 Struts2中OGNL表达式必须配合Struts2标签使用,不然没什么效果。 (八)Struts2进阶之值栈详解这篇文章中我们分析了值栈的结构,讲了值栈的实现类是OgnlValueStack类,它包含两部分,分别是root(对应CompoundRoot类)和context(对应OgnlContext类)。 ...
Struts2基于OGNL的类型转换
Struts2内建的类型转换器可以完成基本的类型、Date与字符串之间的转换,这些都是简单的类型之间的转换。除此之外,由于Struts2内建的OGNL表达式支持,因此在Struts2中甚至可以直接将字符串参数转换成符合参数类型。 前台表单: 请输入用户注册信息
OGNL循环表达式
OGNL循环是用的比较多的地方使用方法如下: 1.使用标签读出属性 "> 2.通过Id来标识遍历的集合 0"> " class="fgnp-text
OGNL表达式的基本用法
OGNL表达式的基本用法 借助 s:property标签输出内容到浏览器 s:property的作用 写法: &amp;lt;%--导入标签库--%&amp;gt; &amp;lt;%@ taglib uri=&quot;/struts-tags&quot; prefix=&quot;s&quot; %&amp;gt; &amp;lt;%--要想使用 OGNL 表达式,需要借助 struts2 的标签--%&amp;gt; &amp;lt;s:property...
Struts2标签——OGNL表达式在Struts2中的应用
上一章节学习了OGNL在struts2上应用的体现,分别是参数的获取、配置文件中数据的传递,还有一个是struts2标签,但是在上一章节没有记录,本章节进行学习记录~ Struts2标签——OGNL表达式在Struts2中的应用Struts2标签——OGNL表达式在Struts2中的应用1、控制标签2、数据标签3、表单标签4、非表单标签 Struts2标签——OGNL表达式在Struts2中的...
关于struts2中使用OGNL表达式取值,取不到值的原因及解决方法
struts2中使用的OGNL表达式在拿action中的值的时候无论如何都取不到。 UserAction.java   这个类查出了一个“lists”,也就是我在jsp页面中要取的值。 package tm.change.action; import java.util.ArrayList; import java.util.List; import tm.change.dao.U
什么是OGNL表达式
前言       在经典的SSH框架中,我们在JSP页面经常会用到OGNL表达式来取值,然后赋值给页面元素,这种方式来赋值,JSP页面的代码看起来干净整洁,没有过多的Java代码。但是到底什么是OGNL表达式呢?       说道OGNL表达式,我们可能会很快想到EL表达式。没错,他们都是很强大的表达式语言,但是EL表达式在Struts1中是比较常用的,Struts2则默认使用了OGNL表...
struts2 基于OGNL的几种日期转换
本篇解决的问题有:struts2内置的类型转换有哪些?OGNL是什么,它的两个作用,还有基于OGNL的常见日期类型转换。
Mybatis中的OGNL表达式
Mybatis中的OGNL表达式 Mybatis中的xml映射配置文件支持OGNL表达式,常用于标签的判断条件。还可直接调用java对象中的方法。 取值写法 资料来源 慕课网...
java开发遇到的多种表达式语言EL、spEL、OGNL、thremleaf...汇总
在学习Java的过程中,接触到多种表达式语言,为了避免使用混淆,将其一一记录下来。 一、EL语言 1)概述; EL是JSP内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。 EL表达式用于代替JSP表达式(&amp;amp;lt;%= %&amp;amp;gt;)在页面中做输出操作。EL表达式仅仅用来读取数据,而不...
OGNL表达式与EL表达式区别
1.显示页面**************************** /** 列表 */ public String list() throws Exception { List roleList = roleService.findAll(); ActionContext.getContext().put("roleList", roleList); return "list"; }
学习Struts2时,使用Idea在用OGNL代码变红。
发生红名,但不影响运行。 把idea针对JSP文件的检测级别降低点,File -> Settings -> Editor -> Inspections,选择对应的文件类型,取消勾即可。
struts2标签结合ognl表达式遍历map
[code=&quot;java&quot;] -&gt; [/code]
mybatis的ognl表达式问题
ORDER BY id DESC ORDER BY age DESC Cause: org.apache.ibatis.ognl.ExpressionSyntaxException 平时没注意,偶然间发现mybatis的ognl表达式异常 看了日志才发现这里没有大写的or和and,也可以写 “||”和“&&” 谨记
mybatis中如何使用OGNL表达式
在使用mybatis时经常使用到OGNL表达式。特别是在使用动态sql查询时。 下面看下一些常用的OGNL(详情请点这里–官网介绍): 表达式e1,e2 - e1 or e2 - e1 and e2 - e1 == e2, e1 eq e2 - e1 != e2, e1 neq e2 - e1 &lt; e2, e1 lt e2 - e1 &lt;= e2, e1 lte e2
Java中使用Ognl表达式引擎
一、Ognl简介 OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 二、Ognl应用场景 简单地说,Ognl最大的作用就是支持 name.field1.field2.value 方...
Struts2中基于OGNL的类型转换
Struts2中基于OGNL的类型转换
OGNL常用语法总结
OGNL常用语法总结OGNL(Object-Graph Navigation Language),即对象图导航语言,是Struts2默认的表达式语言. 访问属性 OGNL对不同类型的对象采取不同的属性访问方式。Map对象 找到键对应的值,例如map["key"],等价于map.key List或数组对象 采用下标访问元素,例如array[1]、list[0] 对象的属性访问与map类似 例
javaEE Struts2,配置全局异常处理,jsp中通过OGNL表达式标签获取异常信息
  UserAction.java(Action抛出异常): package cn.xxx.web.action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; i...
Mybatis常用的OGNL表达式
在Mybatis的动态SQL和${}形式的参数中都用到了OGNL表达式。Mybatis常用的OGNL表达式如下 1、e1 or e2:或 &amp;lt;if test=&quot;userEmail != null or userEmail == '1'&quot;&amp;gt; &amp;lt;/if&amp;gt; 2、e1 and e2:且 &amp;lt;if test=&quot;userEmail != null and userEmail != ...
OGNL表达式原理及使用
OGNL:object graph navigation language,对象图形导航语言,一种表达式语言。 为什么出现: 在我们所熟悉的mvc框架中,数据是在各层之间进行流转使用的。 显示层:将数据展示给用户,数据不分类型,统一按照字符串处理 后台:处理数据,在java中数据分为很多类型,我们可以自行定义。 这样在页面和java中数据的传递使用就会出现不匹配的
struts2 ognl表达式 后台获取不到值
今天朋友请教一个struts2 以ognl方式上传的问题;刚开始我写了一个很正常,然后拿到他的部分源码进行修改,也陷入了同样的问题; 场景: 表单的一部分是 [code=&quot;java&quot;][/code] 一个Action里封装一个TemplateType实例,TemplateType有一个属性是TableModel的实例;TableModel又有个基本类型的pageSize;只要bea...
OGNL基本使用
ONGL基本使用 基本介绍      OGNL是Object-Graph Navigation Language(对象图导航语言)的缩写,它是一种功能强大的表达式语言,通过简单一致的表达式语法,可以存取对象的任何属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能、它使用相同的表达式去存取对象的属性。 Struts2框架使用OGNL作为默认的表达式语言 OGNL是
Strust2 的OGNL和s标签的用法
在之前的学习中,我们在页面上访问Action对象的时候,都是用EL表达式来实现的如${productName} 为什么我们通过EL表达式就可以取到对象呢? 我一直以为是从request、session、application域中获取的; 我们知道struts2就是相当于servlet,但是在servlet对象中,需要用到request.setAttribute(&quot;name&quot;,name);来设...
OGNL表达式的特殊的符号
OGNL表达式的特殊的符号 # 符号的用法 获得context中的数据 构建一个map集合 % 符号的用法 强制字符串解析成OGNL表达式。 例如:在request域中存入值,然后在文本框()中取值,写在value里。 { }中值用引号引起来,此时不再是ognl表达式,而是普通的字符串,到底使用单引号还是双引号是由外层引号决
struts2初步学习(二)——使用标签及ognl实现简单的登录注册
一、OGNL OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能。 二、特点: 1.OGNL表达式的计算是围绕OGNL上下文进行的。 OGNL上下文实际上就是一个Map对象,由ognl.O...
MyBatis中的OGNL表达式
-
一句定天下(页面编码)
:设置jsp页面的编码 :设置html的页面编码 通常开发者会设置2个地方,其实只要如下即可,而且可以作为今后一直沿用的一句,一句定天下(页面编码)!