好奇怪,或许是自己不懂,在学struts2标签的自定义主题和doubleselect标签是都遇到这个问题:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Expression parameters.formName is undefined on line 101, column 43 in template/simple/doubleselect.ftl. - Class: freeer.core.TemplateObject
File: TemplateObject.java
Method: assertNonNull
Line: 124 - freeer/core/TemplateObject.java:124:-1
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
root cause Expression parameters.formName is undefined on line 101, column 43 in template/simple/doubleselect.ftl. - Class: freeer.core.TemplateObject
File: TemplateObject.java
Method: assertNonNull
Line: 124 - freeer/core/TemplateObject.java:124:-1
org.apache.struts2.components.UIBean.end(UIBean.java:515)
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
org.apache.jsp.sDoubleselect_jsp._jspx_meth_s_005fdoubleselect_005f0(sDoubleselect_jsp.java:151)
org.apache.jsp.sDoubleselect_jsp._jspx_meth_s_005fform_005f0(sDoubleselect_jsp.java:112)
org.apache.jsp.sDoubleselect_jsp._jspService(sDoubleselect_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
root cause freeer.core.InvalidReferenceException: Expression parameters.formName is undefined on line 101, column 43 in template/simple/doubleselect.ftl.
freeer.core.TemplateObject.assertNonNull(TemplateObject.java:124)
freeer.core.Expression.getStringValue(Expression.java:118)
freeer.core.Expression.getStringValue(Expression.java:93)
freeer.core.DollarVariable.accept(DollarVariable.java:76)
freeer.core.Environment.visit(Environment.java:208)
freeer.core.MixedContent.accept(MixedContent.java:92)
freeer.core.Environment.visit(Environment.java:208)
freeer.core.Environment.include(Environment.java:1477)
freeer.core.Include.accept(Include.java:169)
freeer.core.Environment.visit(Environment.java:208)
freeer.core.MixedContent.accept(MixedContent.java:92)
freeer.core.Environment.visit(Environment.java:208)
freeer.core.Environment.process(Environment.java:188)
freeer.template.Template.process(Template.java:237)
org.apache.struts2.components.template.FreeerTemplateEngine.renderTemplate(FreeerTemplateEngine.java:182)
org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:559)
org.apache.struts2.components.UIBean.end(UIBean.java:513)
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
org.apache.jsp.sDoubleselect_jsp._jspx_meth_s_005fdoubleselect_005f0(sDoubleselect_jsp.java:151)
org.apache.jsp.sDoubleselect_jsp._jspx_meth_s_005fform_005f0(sDoubleselect_jsp.java:112)
org.apache.jsp.sDoubleselect_jsp._jspService(sDoubleselect_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.18
代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
</head> <body>
<s:form action="x">
<s:doubleselect label="Please select the book you like: "
name="author" list="{'李刚', 'Rick'}"
doubleList="top=='李刚'?{'Struts2权威指南' , 
'轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}:{'JavaScript: The Definitive Guide'}"
doubleName="book" />
</s:form>
</body>
</html>
照着书上输的,不行。后来把书上的代码也是不行。会出现以上的500异常。求教~~~