相关疑难解决方法(0)

如何安装JSTL?绝对的uri:http://java.sun.com/jstl/core无法解决

我不知道我做错了什么,但我不能包括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)

jsp servlets jstl

124
推荐指数
8
解决办法
34万
查看次数

如何在JSP/EL中调用静态方法?

我是JSP的新手.我尝试连接MySQL和我的JSP页面,它工作正常.但这是我需要做的.我有一个名为"balance"的表属性.检索它并使用它来计算一个名为"amount"的新值.(我不打印"余额").

 <c:forEach var="row" items="${rs.rows}">
        ID: ${row.id}<br/>
        Passwd: ${row.passwd}<br/>
        Amount: <%=Calculate.getAmount(${row.balance})%>
 </c:forEach>
Run Code Online (Sandbox Code Playgroud)

似乎无法在JSTL标记中插入scriptlet.

java jsp el

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

在EL中使用匿名内部类bean上的参数调用方法

如果我有一个这样的匿名内部类对象(其中Foo是一个接口):

Foo foo = new Foo(){
  @Override
  public String hello(Object dummyArg){
    return "hello, world.";
  }
};
Run Code Online (Sandbox Code Playgroud)

我尝试Foo.hello从这样的jsp 调用:

${foo.hello('blah')}
Run Code Online (Sandbox Code Playgroud)

它抛出:

javax.el.MethodNotFoundException: Unable to find method [hello] with [1] parameters
Run Code Online (Sandbox Code Playgroud)

但如果没有参数:

Bar bar = new bar(){
  @Override
  public String hello(){
    return "hello, world.";
  }
};
Run Code Online (Sandbox Code Playgroud)

...

${bar.hello()}
Run Code Online (Sandbox Code Playgroud)

它工作正常.为什么?

这不是7121303的副本.我正在特别询问匿名的内部课程.使用常规类的实例,它可以使用任意数量的参数.

java jsp anonymous-inner-class el

9
推荐指数
1
解决办法
921
查看次数

正则表达式,用于删除JSTL标记中的特殊字符

我正在开发一个Spring应用程序,在JSPX页面中,我需要从属性页面动态加载一些值,并使用options标签将它们设置为下拉列表.我需要使用相同的文本作为选项值和显示但是对于选项值,我需要删除所有特殊字符.

例如,如果价值是母亲叔叔,那么我需要

<option value="MaternalUncle">Maternal Uncle</option>
Run Code Online (Sandbox Code Playgroud)

我得到的是

<option value="Maternal Uncle">Maternal Uncle</option>
Run Code Online (Sandbox Code Playgroud)

有2个应用程序可以使用该页面,并且要加载的属性文件取决于应用程序.如果我为app 1加载值,那么值会正确显示,app1中的最后一个值是'Others',并且没有任何特殊字符.对于app 2,它不会修剪最后一个值为'Maternal Uncle'的空格.代码中的repOptions是ArrayList,其值从属性文件加载.这是我的代码:

<select name="person" id="person">
      <option value="na">Select the relationship</option>
  <c:forEach items="${repOptions}" var="repOption">
       <option value="${fn:replace(repOption, '[^A-Za-z]','')}">${repOption}</option>
  </c:forEach>
</select>
Run Code Online (Sandbox Code Playgroud)

第一个应用程序删除空格,因为此值在列表9中为第4个.对于app2,这是最后一个值,正则表达式不起作用.如果我把Maternal Uncle作为app2的第一个属性,那么这个工作正常,但要求是最后一个选项.

 <option value="${fn:replace(repOption, ' ','')}">
Run Code Online (Sandbox Code Playgroud)

正在为空白工作,但可能有像兄弟/姐妹这样的值,所以我需要删除/也,因此我正在使用正则表达式.

regex jsp replace jstl

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

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

如何在JSTL中调​​用java方法?

这可能是重复的问题。

我只想调用不是 getter 或 setter 方法的方法,例如。makeCall(someObj,"stringvalue") 的 xyz 类。

Java类

Class XYZ{

    public String makeCall(Object objValue, String stringValue){

    //some logic here

    }
}
Run Code Online (Sandbox Code Playgroud)

JSTL

<jsp:userBean id="xyz" class="com.XYZ"/>
${xyz.makeCall("hello","Friend")}
Run Code Online (Sandbox Code Playgroud)

java jstl method-call

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

标签 统计

jsp ×5

java ×4

jstl ×4

el ×2

anonymous-inner-class ×1

method-call ×1

regex ×1

replace ×1

servlets ×1