我有一個自定義EL函數定義如下:爲什麼我爲自定義jsp EL函數獲取JasperException PWC:6299?
<function>
...
<function-signature>
java.lang.String getAsText(com.test.Outerclass.InnerEnum)
</function-signature>
...
</function>
這裏是我的課是什麼樣子:
package com.test;
public final class Outerclass {
public enum InnerEnum {
// ommited for clarity
}
}
當我嘗試查看網頁,我得到以下異常:
org.apache.jasper.JasperException: PWC6299: The class com.test.Outerclass.InnerEnum specified in TLD for the function conversion:getAsText cannot be found: com.test.Outerclass.InnerEnum
我的servlet容器是Jetty(7.1.6.v20100715發行版)。這包括以下罐子。
javax.servlet.jsp.jstl_1.2.0.v201004190952.jar
javax.servlet.jsp_2.1.0.v201004190952.jar
org.apache.taglibs.standard.glassfish_1.2.0.v201004190952.jar
javax.el_2.1.0.v201004190952.jar
org.apache.jasper.glassfish_2.1.0.v201007080150.jar
我發現了一個相關的問題在這裏,然而,筆者接受的答案,沒有給出關於這個問題是如何解決的任何真正跡象。
編輯:
爲了澄清,類和枚舉在谷歌協議中定義緩衝器消息並且由protoc編譯器生成的Java代碼。生成的代碼無法更改。
要避免紅鯡魚:'package'是一個無效的軟件包名稱。但是,這應該導致編譯錯誤,而不是運行時錯誤。請相應地更新您的問題。使用'mypackage','com.example'等代替'my.package'。 – BalusC 2010-09-17 18:16:07