标签: el

EL通过Integer键访问映射值

我有一个由Integer键入的Map.使用EL,我如何通过其键访问值?

Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");
Run Code Online (Sandbox Code Playgroud)

我认为这会有效,但它没有(地图已经在请求的属性中):

<c:out value="${map[1]}"/>
Run Code Online (Sandbox Code Playgroud)

跟进:我追查了问题.显然${name[1]},使用数字进行地图查找Long.我想通了这一点,当我换HashMapTreeMap和收到的错误:

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
Run Code Online (Sandbox Code Playgroud)

如果我将地图更改为:

Map<Long, String> map = new HashMap<Long, String>();
map.put(1L, "One");
Run Code Online (Sandbox Code Playgroud)

然后${name[1]}返回"一".那是什么?为什么<c:out>将数字视为一个长数.对我来说似乎违反直觉(因为int比长期更常用).

所以我的新问题是,是否有EL符号通过Integer值访问地图?

java jsp jstl el

85
推荐指数
3
解决办法
15万
查看次数

EL空运算符如何在JSF中工作?

在JSF中,可以使用EL空运算符渲染或不渲染组件

rendered="#{not empty myBean.myList}"
Run Code Online (Sandbox Code Playgroud)

正如我所理解的那样,运算符既可以作为空值检查,也可以检查列表是否为空.

我想对我自己的自定义类的某些对象进行空检查,我需要实现哪些接口或部分接口?哪个接口是空的运算符兼容?

jsf el

82
推荐指数
2
解决办法
12万
查看次数

如何在Facelets中的EL布尔表达式中使用&&?

我在Facelets中弄清楚如何处理EL表达式时遇到了一些麻烦.基本上我有:

<h:outputText id="Prompt"
    value="Fobar" 
    rendered="#{beanA.prompt == true && beanB.currentBase !=null}" />
Run Code Online (Sandbox Code Playgroud)

但我一直在:

错误跟踪[第69行]实体名称必须紧跟实体引用中的"&".

jsf facelets el

81
推荐指数
2
解决办法
10万
查看次数

JSP EL字符串连接

如何在EL中连接字符串?

我想做这样的事情,但它不起作用:

${var1 == 0 ? 'hi' : 'hello ' + var2}
Run Code Online (Sandbox Code Playgroud)

它抛出异常试图转换'hello'Double

jsp el

75
推荐指数
4
解决办法
9万
查看次数

$ {}和#{}之间有什么区别?

我在JSF2中编程,netbeans创建了许多#{}包含表达式的页面.

但有时在网上我发现${}同样的事情!

有什么不同吗?这些是什么?

Google会忽略这些字符#{},${}因此难以搜索.

el jsf-2

75
推荐指数
5
解决办法
3万
查看次数

方法必须有签名"String method()... [etc] ..."但是有签名"void method()"

我有一个数据表,每行有一个按钮:

<ice:dataTable ... var="item">
  <ice:column>
    <h:commandButton value="Download" action="#{mybean.downloadItem(item)}" />
  </ice:column>
</ice:dataTable>
Run Code Online (Sandbox Code Playgroud)

在支持bean中有这种方法:

public void downloadItem(Item item) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

一切正常(单击该方法时执行),但Eclipse验证失败并显示以下奇怪消息:

方法必须具有签名"String method(),String method(),String方法(String),String方法(String,String),String方法(String,String,String),String方法(String,String,String,String) ,String方法(String,String,String,String,String),String方法(String,String,String,String,String,String),String方法(String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String),String方法(String,String,String,String,String,String,String,String,String),String方法(String,String,String, String,String,String,String,String,String,String),String方法(String,String,String,String,String,String,String,String,String,String,String),String方法(String,String,String, String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String,String,String,String,String,String),String方法 tring,String,String,String,String,String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String,String, String,String,String,String,String,String),String方法(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String, String,String,String,String,String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String,String,String, String,String,String,String,String,String,String,String,String)"但是有签名"void method()"

我能做什么?

如果这是相关的,我在Tomcat 7上使用Eclipse Indigo SR1.

eclipse validation jsf el eclipse-wtp

64
推荐指数
1
解决办法
3万
查看次数

在JSF中格式化日期输出

如果#{myBean.birthdate}是的java.util.Calendarjava.util.Date类型,可以予可能使用现有的函数也许,随着像由所产生的一个输出格式化此的EL本身内部DateFormatSHORT,MEDIUM,LONGABD FULL输出类型?

相反,输出的完整形式#{myBean.birthdate}:周三1月19日19时01分42秒WIT 2011,我只是喜欢简单输出2011年1月19日.

我应该用#{formatBean.format(myBean.birthdate)}吗?

jsf el date-formatting

57
推荐指数
3
解决办法
10万
查看次数

如何在JSP中访问请求属性?

目前我使用:

<%
final String message = (String) request.getAttribute ("Error_Message");
%>
Run Code Online (Sandbox Code Playgroud)

然后

<%= message %>
Run Code Online (Sandbox Code Playgroud)

但是我想知道是否可以用EL或JSTL完成相同的操作而不是使用scriptlet.

jsp jstl el

57
推荐指数
1
解决办法
12万
查看次数

EL中的字符串连接

我想在EL(表达式语言)中连接三元运算符中的字符串.

假设有一个名为value的变量.如果它是空的,我想使用一些默认文本.否则,我需要附加一些静态文本.

${(empty value)? "none" : value + " enabled"}
Run Code Online (Sandbox Code Playgroud)

但是这不会编译.写这个的正确方法是什么?或者这甚至可能吗?

java string jsp jstl el

56
推荐指数
4
解决办法
9万
查看次数

在JSF页面中定义和重用EL变量

是否可以在EL表达式中定义变量并重新使用该变量?

例如 :

<h:inputText 
   value="#{myBean.data.something.very.long}"
   rendered="#{myBean.data.something.very.long.showing}"
/>
Run Code Online (Sandbox Code Playgroud)

我的想法是这样的:

<!-- 
     somehow define a variable here like : 
     myVar = #{myBean.data.something.very.long} 
-->
<h:inputText 
   value="#{myVar}"
   rendered="#{myVar.showing}"
/>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?谢谢 !

jsf el jsf-2

56
推荐指数
2
解决办法
8万
查看次数

标签 统计

el ×10

jsf ×5

jsp ×4

jstl ×3

java ×2

jsf-2 ×2

date-formatting ×1

eclipse ×1

eclipse-wtp ×1

facelets ×1

string ×1

validation ×1