直接进editTheme.jsp页面时候是没问题的,但是通过点修改按钮查询某个主题时候没错,但是返回这个页面时候报错。jsp:....
<%@ taglib prefix="s" uri="/struts-tags" %>
.....
<div id="wrap">
<div class="nav">
<h2>当前位置 » 主题管理 » 主题编辑</h2>
</div>

<div class="space"></div>

<div class="container">
<form action="/theme/save.action"  method="post" enctype="multipart/form-data" name="editForm" onsubmit="return checkForm(this);">
<table class="editTb" cellpadding="3" cellspacing="1" width="100%" style="border: 0;">
<tr>
<td class="left_title_2" width="40%"><span>*</span> 主题名称:</td>
<td><s:textfield name="theme.id" cssClass="text" cssStyle="width: 180px;"></s:textfield> </td>
</tr>
<tr>
<td colspan="2" align="center">
<s:hidden name="theme.id"></s:hidden>
<input type="submit" value=" 提交 " class="button" />&nbsp;&nbsp;
<input type="button" class="button" value=" 返回 " onclick="" />
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>错误信息如下: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: Class: org.apache.struts2.components.template.TemplateEngineManager
File: TemplateEngineManager.java
Method: getTemplateEngine
Line: 102 - org/apache/struts2/components/template/TemplateEngineManager.java:102:-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.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
cn.newpolar.musicplayer.web.cas.AuthenticationFilter.doFilter(AuthenticationFilter.java:38)root cause java.lang.NullPointerException org.apache.struts2.components.template.TemplateEngineManager.getTemplateEngine(TemplateEngineManager.java:102)
org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:549)
org.apache.struts2.components.UIBean.end(UIBean.java:513)
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
org.apache.jsp.theme.editTheme_jsp._jspx_meth_s_005ftextfield_005f0(editTheme_jsp.java:289)
org.apache.jsp.theme.editTheme_jsp._jspService(editTheme_jsp.java:163)
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.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(:94)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
cn.newpolar.musicplayer.web.cas.AuthenticationFilter.doFilter(AuthenticationFilter.java:38)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.18

解决方案 »

  1.   

    action="/theme/save.action 这action路径对了吗?
      

  2.   

      没问题。在save方法里 this.theme有数据的。
      

  3.   

    500
    很明显 你代码有错误啊
    好好检查吧
    debug
      

  4.   

    action里没报错.  页面显示theme.themeName属性值时候报错
      

  5.   

    应该是取值的时候报错的,你的theme是应该配置为actionform的属性了吧或者是已经放置到对应的作用域中了吧!
      

  6.   

    感觉想标签的事,你看看下面这段吧
    先说明下本人情况,我以前view是用tapestry4.0的。现在在换工作期间现在学习这个struts2.没读什么书,表达能力有限,问题问的有点小白了希望大家能够理解耐心解答。 
    question:一切都从这个struts2验证开始。由于我使用了conversion解析了一个action的属性。这个属性是个引用对象。提交验证后。验证失败返回input页面。进行free这个页面 
    只要解析到这个对这个 对象控件的struts标签.然后就会出现一个HTTP 500 1231错误。而且服务器端查遍了所有日志文件都看不到异常信息。这个web容器就是万恶的jetty5.X.后来换成jetty6.X终于能看到异常信息。 
    Caused by: 
    org.apache.jasper.JasperException: Class: org.apache.struts2.components.template.TemplateEngineManager 
    File: TemplateEngineManager.java 
    Method: getTemplateEngine 
    Line: 102 - org/apache/struts2/components/template/TemplateEngineManager.java:102:-1 经过跟踪调式。发现他的其他值类型的控件默认TemplateEngine是使用FREEMARK。到了引用对象的那个控件就是一个字符串为.很长一串不记得了。大概是:noConversion*。然后到TemplateEngineManager去取TemplateEngine取出的是NULL.然后UIBean.mergeTemplate throws  throw new ConfigurationException("Unable to find a TemplateEngine for template " + template);只要删除那个对象引用就能避免问题。但这个可不是我的最初目的啊。 反正现在脑袋很多问题说不出问题具细。。 
    我的struts2版本是2.1.8.1