在jsp中调用静态方法时出现问题

在jsp中调用静态方法时出现问题,jsp,tld,Jsp,Tld,在从tld调用Java类的静态方法时,我遇到了一些问题,比如在运行jsp文件时,它总是将这个${test:concat(“Java”)}显示为一个输出,甚至不调用Java类 index.jsp文件 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4

在从tld调用Java类的静态方法时,我遇到了一些问题,比如在运行jsp文件时,它总是将这个
${test:concat(“Java”)}
显示为一个输出,甚至不调用Java类

index.jsp文件

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib prefix="test" uri="/WEB-INF/SubstrDescriptor.tld"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>JSP Custom Taglib example: Substr function</title>
</head>
${test:concat("java")}
</html>

编辑:该死的错误。感谢Braj为我指明了正确的方向-很快将被删除

你应该尽量给它取一个相同的名字。你写的

<function-signature>java.lang.String doMyStuff( java.lang.String )
        </function-signature>
java.lang.String doMyStuff(java.lang.String)
应该是什么时候

<function-signature>java.lang.String concat( java.lang.String )
        </function-signature>
java.lang.String concat(java.lang.String)

按以下所述进行少量更改,然后再次检查

  • 在tld中定义
    subscredscriptor
  • 在JSP中使用
请看一看类似的帖子,这可能会帮助你更好地理解

JSP:


请提供进一步的帮助,在JSP中不需要使用实际的方法名。您可以为tld中定义的方法提供一个不同的名称。@Braj我的帖子引入了其他错误,实际上是大错特错。谢谢。请不要编辑您的原始代码,否则任何解决现有代码中问题的答案都没有意义。在实际代码下方添加编辑后的代码,并提及编辑。
<function-signature>java.lang.String doMyStuff( java.lang.String )
        </function-signature>
<function-signature>java.lang.String concat( java.lang.String )
        </function-signature>
<%@ taglib prefix="test" uri="SubstrDescriptor"%>
<body>
     ${test:concat("java")}
</body>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">

    <tlib-version>2.0</tlib-version>    
    <uri>SubstrDescriptor</uri> 
    <function>
        <name>concat</name>
        <function-class>java4s.Demo</function-class>
        <function-signature>java.lang.String doMyStuff( java.lang.String )
        </function-signature>
    </function>
</taglib>
WebContent
          |
          |__WEB-INF
          |         |
          |         |__SubstrDescription.tld
          |         |__web.xml
          |
          |__index.jsp