1

次のようなJSPファイルmember.jspがあります。

<%@ page import="java.util.*" %>
<jsp:include page="/html_functions.jsp" />

<% String heading = "Header" %>
<%= formStart("a_form") %>
<%= printPageHeader(heading) %>
<%= startMyLi() %>
<%= endLi() %>
<%= formEnd() %>

そして私のhtml_functions.jspは次のとおりです:

<%!

public String formStart(String name) {
    String structure = "<div id=\"content\"><form name=\"" + name + "\" method=\"post\"><ul>";
    return structure;
}//formStart

public String printPageHeader(String name) {
    String structure = "<li class=\"listLi\">\n<h3 class=\"formHeader\">" + name + ".</h3></li>";
    return structure;
}//printPageHeader

public String startMyLi() {
    String structure = "<li class=\"listLi\">";
    return structure;
}//startMyLi

public String endLi() {
    return ("</li>");
}//endMyLi

public String displayWithSpan(String str) {
    String structure = "<span class=\"labelSpan\">" + str + "</span>";
    return structure;
}//displayWithSpan

public String displayInputElement(String name) {
    return("Hiiiii");
}//displayInputElement

%>

ただし、me​​mber.jspファイルの呼び出し中に例外が発生します。これは私が得る例外です:

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: xx in the jsp file: /member.jsp
The method formStart(String) is undefined for the type add_005fmember_jsp

他のすべての方法の場合も同じです。どこで間違いを犯しているのですか?

ありがとう

4

1 に答える 1

4

使用する

<%@ include file="/html_functions.jsp" %>

代わりに正常に動作します<jsp:include page="html_functions.jsp" />

アプリケーションのJSPページにファイルを含めるには2つの方法があります。これらは次のとおりです。

  1. <%@include file="relativeURL" %>
  2. <jsp:include page="relativeURL" />

最初のケースには、コンパイル時に呼び出し元のJSPファイルにファイルまたはファイルのテキストまたはコードが含まれ、後で実行されます。

見る

html_functions.jspが正しいパスに配置されていることを確認します。

于 2012-10-11T10:51:52.587 に答える