标签: jstl

如何使用JSTL/EL从JSP调用参数化方法

如何使用JSTL/EL从JSP调用Java类中定义的参数的Java方法.该方法返回数组.可以使用任何返回值.

jsp jstl el parameter-passing methodexpression

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

找不到"http://java.sun.com/jsp/jstl/core"的标记库描述符

我把它包含在我的JSP页面的最顶层:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Run Code Online (Sandbox Code Playgroud)

我已将JSTL JAR文件放在WEB-INF/lib目录中.但是,JSP仍然无法解析taglib.我得到以下错误:

找不到" http://java.sun.com/jsp/jstl/core " 的标记库描述符

我正在使用Eclipse Juno,项目结构如下所示:

在此输入图像描述

java eclipse tomcat jstl

44
推荐指数
4
解决办法
14万
查看次数

javax.servlet.jsp.PageContext无法解析为类型

我在jsp页面中看到以下错误 -

javax.servlet.jsp.PageContext cannot be resolved to a type
javax.servlet.jsp.JspException cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud)

我看过一篇关于此的帖子,并尝试了一些建议的事情.BalusC提供了很好的输入 - JSTL1.2和Standard.jar不能一起使用.我做了这个,它解决了一段时间的问题 - 但它再次出现.我不确定我是否还有罐头碰撞.我已经将所有jar定义为Maven中的依赖项.以下是我指定pom.xml的依赖项 -

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>0.1.38</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.15</version>
        <exclusions>
            <exclusion>
                <groupId>javax.jms</groupId>
                <artifactId>jms</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jmx</groupId>
                <artifactId>jmxri</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jdmk</groupId>
                <artifactId>jmxtools</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>1.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId> …
Run Code Online (Sandbox Code Playgroud)

jsp servlets jstl maven

43
推荐指数
3
解决办法
9万
查看次数

如何在使用百日咳的th:if标签中有多个条件

我有一个文本使用百里香叶呈现三种不同的颜色.

所以我到目前为止测试该值的代码是:

th:if="${evaluation} &gt; 50"
th:if="${evaluation} &lt; 30"
Run Code Online (Sandbox Code Playgroud)

这很有效.

但第三个测试是针对这两者之间的值.所以我尝试过:

th:if="(${evaluation} &lt; 49) &and; (${evaluation} &gt; 29)"
Run Code Online (Sandbox Code Playgroud)

但是它不起作用,我在解析时遇到了这个错误:

org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "(${evaluation} < 49) &and; (${evaluation} > 29)" (/property.html:41)
Run Code Online (Sandbox Code Playgroud)

当然,这些行在标签之间,因为前两个正常工作.

也许操作数和操作数不正确,但百里香叶的文档并没有真正明确这些操作数.

欢迎所有想法!

更新:我从百万富翁论坛得到了答案.做到这一点的方法是:

th:if="${evaluation &lt; 49 and evaluation &gt; 29}"
Run Code Online (Sandbox Code Playgroud)

问题解决了!

html java spring jstl thymeleaf

43
推荐指数
4
解决办法
6万
查看次数

JSP中存在Checking属性

我有一些扩展超类的类,在JSP中我想展示这些类的一些属性.我只想制作一个JSP,但我事先并不知道该对象是否具有属性.所以我需要一个JSTL表达式或一个标签来检查我传递的对象是否具有此属性(类似于javascript中的运算符,但在服务器中).

<c:if test="${an expression which checks if myAttribute exists in myObject}">
    <!-- Display this only when myObject has the atttribute "myAttribute" -->
    <!-- Now I can access safely to "myAttribute" -->
    ${myObject.myAttribute}
</C:if>
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这个?

谢谢.

jsp jstl jsp-tags

42
推荐指数
3
解决办法
7万
查看次数

检查表达式语言中是否存在参数

<c:if test="${param.username}" >
</c:if>
Run Code Online (Sandbox Code Playgroud)

如何检查param.username是否存在?

parameters jsp jstl el

42
推荐指数
3
解决办法
7万
查看次数

JSTL/EL中的三元运算符

JSTL的以下标记可用于将值设置为请求范围中的变量.

<c:set var="value" scope="request" value="someValue"/>
Run Code Online (Sandbox Code Playgroud)

我想要有条件地检查,如果value设置的变量是否为空,并显示相应的结果,如下所示,使用<c:when>...</c:when>.

<c:choose>
    <c:when test="${not empty value}">
        <c:out default="None" value="${value}"/>
    </c:when>
    <c:otherwise>
        <c:out default="None" value="None"/>
    </c:otherwise>
</c:choose>
Run Code Online (Sandbox Code Playgroud)

我想使用三元表达式来减少代码行,比如

<c:out default="None" value="${not empty value ? value : 'None'}"/>
Run Code Online (Sandbox Code Playgroud)

它被评估,因为它实际上意味着,但如果我交换表达式的顺序,如,

<c:out default="None" value="${empty value ? 'None' : value}"/>
Run Code Online (Sandbox Code Playgroud)

然后是语法错误指示,

"$ {空值?'无':值}"包含无效表达式:javax.el.E​​LException:错误解析:$ {空值?'无':值}

那么为什么会这样呢?


我正在使用该JSTL 1.1库,包含以下taglib,

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
Run Code Online (Sandbox Code Playgroud)

jsp jstl el ternary-operator conditional-operator

41
推荐指数
1
解决办法
7万
查看次数

JSTL与JSP Scriptlets

我希望有人在这个问题中解释一下BlausC的惊人答案.

他说小脚本有一些缺点,它们是:

  1. 可重用性:您无法重用scriptlet.我的问题:我怎样才能重用JSTL代码?

  2. 可替换性:您不能使scriptlet抽象化.抽象是什么意思,JST如何变得抽象?

  3. OO:你不能利用继承/组合.我如何在JSTL中使用OO范例?

  4. 调试:如果一个scriptlet中途抛出异常,你得到的只是一个空白页面.

  5. 可测试性:scriptlet不能进行单元测试.这是什么意思,JSTL如何进行单元测试?

  6. 可维护性:每个saldo,需要更多的时间来维护混杂/混乱/重复的代码逻辑.这是什么意思?

最后一件事是他引用甲骨文的建议:

JSP scriptlet不应该用于编写业务逻辑.

在MVC模式中,我仅在表示层中使用scriptlet.他在这里是什么意思?

java jsp jstl

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

如何使用JSTL迭代HashMap中的ArrayList?

我有这样的地图,

Map<Integer,ArrayList<Object>> myMap = new LinkedHashMap<Integer,ArrayList<Object>>();
Run Code Online (Sandbox Code Playgroud)

现在我必须迭代这个Map,然后迭代地图中的ArrayList.我怎么能用JSTL做到这一点?

java jsp jstl arraylist map

35
推荐指数
3
解决办法
6万
查看次数

如何在javascript中设置JSTL变量值?

如何在java脚本中设置JSTL变量值?

<script>

 function function1()

 { 

  var val1 = document.getElementById('userName').value;

  <c:set var="user" value=""/>  // how do i set val1 here?   

 }
 </script>
Run Code Online (Sandbox Code Playgroud)

如何从' val1 '(Java脚本)设置' user '变量(JSTL)值?

javascript jsp jstl

35
推荐指数
4
解决办法
19万
查看次数