2004/06/23

JSPWidget cannot run correctly on WebSphere v4

執行時會出現下列錯誤
SRVE0026E: [Servlet 錯誤]-[JSP 1.1 Processor]: com.ibm.servlet.engine.webapp.WebAppErrorReport: javax/servlet/jsp/tagext/TryCatchFinally
at com.ibm.servlet.engine.webapp.WebAppDispatcherResponse.sendError(WebAppDispatcherResponse.java:97)
at org.apache.jasper.runtime.JspServlet.unknownException(JspServlet.java:453)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:552)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:159)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:286)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:106)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)



原創者的解答:

websphere 4.0 support JSP 1.1 only.
JSPWidget use some JSP 1.2 method.

I **THINK** the only method in JSP 1.2 that I use in JSPWidget is

request.setCharacterEncoding(this.requestEncoding) and TryCatchFinally interface
in doStartTag() of com.ucom.jsp.tags.gui.FormTag.java

If you do not use this method, you have to call someything like this


public static String toBig5(String in) throws java.io.UnsupportedEncodingException{
if(in==null)
return "";
else
return new String(in.getBytes("ISO-8859-1"), "Big5");
}

whenever you call request.getParameter()..

That is : replace every call to request.getParameter(...) to toBig5(request.getParameter(...))

Then you can use in JSP 1.1 enviroment!!

GOOD LUCK ....

No comments: