如何String
使用c
标签验证a 是空还是空JSTL
?
我有一个名称变量,var1
我可以显示它,但我想添加一个比较器来验证它.
<c:out value="${var1}" />
Run Code Online (Sandbox Code Playgroud)
我想验证它是null还是空(我的值是字符串).
我有一个开放式的问题..
我想要一个基于条件(桌面/ ipad)的HTML代码..说条件1 /条件2
我希望为每个条件都有单独的HTML代码段...
if (condition 1) {
Some HTML code specific for condition 1
}
else if (condition 2) {
Some HTML code specific for condition 2
}
Run Code Online (Sandbox Code Playgroud)
我想测试的条件(在JS中)是;
if (condition 1) {
Some HTML code specific for condition 1
}
else if (condition 2) {
Some HTML code specific for condition 2
}
Run Code Online (Sandbox Code Playgroud)
现在必须在.jsp页面中实现...
那我该怎么做?我应该使用JSTL吗?什么是最好的方法?
主要的是只有实际加载/呈现相应的代码,例如,如果条件1为真,则条件2中的HTML代码根本不应该执行(除了隐藏在浏览器中)
如何使用JSTL检查集合的大小?
就像是:
<c:if test="${companies.size() > 0}">
</c:if>
Run Code Online (Sandbox Code Playgroud) 我想有条件地输出一些Facelets代码.
为此,JSTL标签似乎工作正常:
<c:if test="${lpc.verbose}">
...
</c:if>
Run Code Online (Sandbox Code Playgroud)
但是,我不确定这是否是最佳做法?还有另一种方法来实现我的目标吗?
我不知道我做错了什么,但我不能包括JSTL.我有jstl-1.2.jar,但不幸的是我得到了例外:
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)
at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:429)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1439)
at org.apache.jasper.compiler.Parser.parse(Parser.java:137)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:170)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) …
Run Code Online (Sandbox Code Playgroud) 我希望JSTL循环通过a Map<String, String>
并输出键的值和它的值.
例如,我有一个Map<String, String>
可以有任意数量的条目,我想使用JSTL遍历这个地图并输出密钥和它的值.
我知道如何使用密钥访问该值${myMap['keystring']}
,但是如何访问密钥?
我一直在尝试评估这个数组列表是否为空,但这些数据列表都没有编译:
<c:if test="${myObject.featuresList.size == 0 }">
<c:if test="${myObject.featuresList.length == 0 }">
<c:if test="${myObject.featuresList.size() == 0 }">
<c:if test="${myObject.featuresList.length() == 0 }">
<c:if test="${myObject.featuresList.empty}">
<c:if test="${myObject.featuresList.empty()}">
<c:if test="${myObject.featuresList.isEmpty}">
Run Code Online (Sandbox Code Playgroud)
如何评估ArrayList是否为空?
什么是在Thymeleaf做一个简单的if-else的最好方法?
我希望在Thymeleaf中实现与之相同的效果
<c:choose>
<c:when test="${potentially_complex_expression}">
<h2>Hello!</h2>
</c:when>
<c:otherwise>
<span class="xxx">Something else</span>
</c:otherwise>
</c:choose>
Run Code Online (Sandbox Code Playgroud)
在JSTL.
到目前为止我的想法:
<div th:with="condition=${potentially_complex_expression}" th:remove="tag">
<h2 th:if="${condition}">Hello!</h2>
<span th:unless="${condition}" class="xxx">Something else</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我不想评估if
两次.这就是我引入局部变量的原因else
.
我仍然不喜欢同时使用potentially_complex_expression
和condition
.
重要的是我使用了2个不同的html标签:让我们说th:if="${condition}
和th:unless="${condition}"
.
你能建议一个更好的方法来实现吗?
如何获得ArrayList
使用JSF EL表达式的长度?
#{MyBean.somelist.length}
Run Code Online (Sandbox Code Playgroud)
不起作用.