相关疑难解决方法(0)

JSP EL,JSF EL和Unified EL之间的区别

我想知道Expression Languages(EL)之间的细节差异.有JSP EL,JSF EL和Unified EL.

我想知道EL背后的历史以及Java EE应用程序中使用的最新EL.它是最新版本中所有视图技术的EL通用吗?

jsf jsp el java-ee

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

如何创建自定义EL函数来调用静态方法?

我是JSF 2的新手.我的问题是关于BalusC对这个问题的回答jsf2 ajax基于请求参数更新部件 我尝试了kickstart代码BalusC发布并且我遇到了EL解析错误:

 /nameofpage.xhtml @12,64 rendered="#{bean.panels.contains('u1')}"
 Error Parsing: #{bean.panels.contains('u1')}
Run Code Online (Sandbox Code Playgroud)

我想这是因为我没有运行一个支持Servlet 3.0/EL 2.2的容器,并且根据Servlet 3.0规范声明了/WEB-INF/web.xml.我正在使用Tomcat 6.

BalusC在他的回答中建议创建一个自定义EL功能.但是如何使用自定义EL功能完成此操作?或者只需配置我项目的某些部分即可解决这个问题?

以下是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>    
  </context-param>      
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)

jsf static-methods function el jsf-2

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

从基于JSTL的键的hashmap获取值

我想获得HashMap基于密钥的价值.

HashMap<String, ArrayList<String>> map 
    = new HashMap<String, ArrayList<String>>();
ArrayList<String> arrayList = new ArrayList<String>();

map.put("key", arrayList);
request.setAttribute("key", map);
Run Code Online (Sandbox Code Playgroud)

我做的是

<c:forEach var="map" items="${requestScope.key}">
    <c:forEach var="hash" items="${map.value}">
        <option><c:out value="${hash}"/></option>
    </c:forEach>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

但似乎它正在打印所有内容,我想要做的是获取价值取决于关键像:hash.key或者其他什么

更新:
我做了类似的事情,但它仍然无法正常工作

<c:forEach var="map" items="${requestScope.key}">
    <c:forEach var="hash" items="${map['key']}">
        <option><c:out value="${hash}"/></option>
    </c:forEach>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

和StackTrace:Property 'External' not found on type java.util.HashMap$Entry
我很确定真的有这样的关键.

java jsp jstl hashmap

44
推荐指数
1
解决办法
11万
查看次数

如何直接在地图的值上使用jstl foreach?

我尝试了以下令人惊讶的不起作用,看起来像.values在jstl中根本不起作用:

<c:forEach var="r" items="${applicationScope['theMap'].values}">
Run Code Online (Sandbox Code Playgroud)

映射定义如下(以后保存到ServletContext):

Map<Integer, CustomObject> theMap = new LinkedHashMap<Integer, CustomObject>();
Run Code Online (Sandbox Code Playgroud)

如何使这个工作?我实际上真的想避免修改foreach循环中的内容.

jsp jstl

11
推荐指数
2
解决办法
4万
查看次数

如何使用JSTL forEach循环的索引变量来访问映射条目?

使用forEach循环,我想创建表格单元格(用于行),而每个单元格包含表单的输入字段.表格单元格的数量始终是固定的(12).那实际上没问题.但是,接下来是挑战:forEach还应该在输入字段中输入可变数量的默认值,这些输入字段必须从Map(Long,Double)获得.

这是我的(简化)尝试:

<c:forEach var="number" begin="1" end="12" >
  <td>
      <input type="text" value="${requestScope.aMapWithData[number]}" /> 
  </td> 
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

但这并未显示输入字段中Map的任何值.我想问题是"数字"是String类型而不是Long.所以我想知道如果不使用scriptlet就可以解决这个问题.

java foreach jsp jstl

5
推荐指数
2
解决办法
4万
查看次数

EL 2.1和2.2之间的差异

我正在寻找EL 2.1和2.2之间的差异列表.

我知道EL 2.1和2.2之间的一个区别是能够在2.2中传递方法参数.还有其他差异吗?

是否有可用于差异的功能比较图表?我一直在寻找几天,到目前为止还没能找到它.

谢谢

java el

4
推荐指数
1
解决办法
4622
查看次数

标签 统计

jsp ×4

el ×3

java ×3

jstl ×3

jsf ×2

foreach ×1

function ×1

hashmap ×1

java-ee ×1

jsf-2 ×1

static-methods ×1