0 0

各位帮忙看一下,struts2的theme怎么默认成default了,报错找不到ftl文件10

各位,首先感谢前来帮助。。。 进入正题

环境:Myeclipse9.01 + jdk6.0 + tomcat6.0 + J2EE5 Library

说明:前几天对零配置SSH感兴趣,借鉴前人经验搭了个环境试验,都调通以后,结果出现一个很神奇的错误。我在jsp页面直接写<s:form></s:form>结果报错了。。。错误如下:
2012-3-29 18:08:41 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.io.FileNotFoundException: Template /template/default/form-close.ftl not found.
at freemarker.template.Configuration.getTemplate(Configuration.java:489)
at freemarker.template.Configuration.getTemplate(Configuration.java:452)
at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:96)
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:559)
at org.apache.struts2.components.UIBean.end(UIBean.java:513)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:372)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:264)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)

出错以后,就开始找原因,最终发现加上theme="simple"就一切正常了。我就纳闷了,struts2默认theme不是xhtml么,什么时候成default了? Template怎么去template/default下面找ftl文件呢?求真相...
配置上,struts只有一个xml文件,使用了struts-conversion-plugin-2.2.3.jar以及struts2-json-plugin-2.2.3.jar,其他的没有什么有struts配置的jar了,我的struts.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- =================================================== -->
<!-- ==================Parent package==================== -->
<!-- =================================================== -->
<package name="crud-default" extends="convention-default">
<interceptors>
<interceptor-stack name="crudStack">
<interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
<interceptor-ref name="paramsPrepareParamsStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="crudStack" />
</package>
<!-- =================================================== -->
<!-- ================对象交给Spring管理================== -->
<!-- =================================================== -->
<constant name="struts.objectFactory" value="spring" />
<!-- =================================================== -->
<!-- =====================开发参数======================= -->
<!-- =================================================== -->
<!-- 开启使用开发模式,详细错误提示, 官方不建议使用
<constant name="struts.devMode" value="true" /> -->
<!-- 国际化资源重新加载  
<constant name="struts.i18n.reload" value="true" /> -->
<!-- 配置文件重新加载
<constant name="struts.configuration.xml.reload" value="true" /> -->
<!-- convention类从新加载, 官方不建议使用
<constant name="struts.convention.classes.reload" value="false" /> -->
<!-- =================================================== -->
<!-- ======================全局配置====================== -->
<!-- =================================================== -->
  <constant name="struts.ui.theme" value="simple" />
  <!-- 设置local -->
<constant name="struts.locale" value="zh_CN"/>  
<!-- 指定资源编码类型 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
<!-- 默认后缀名 -->
<constant name="struts.action.extension" value="action,jhtml,," />
<!-- 国际化资源文件 -->
<constant name="struts.custom.i18n.resources"
value="resources/i18n/Common,  
resources/i18n/System,  
resources/i18n/Area,
resources/i18n/Air" />
<!-- =================================================== -->
<!-- =================conversion约定配置================= -->
<!-- =================================================== -->
<!-- 是否禁用扫描。一定要设为false,否则convention插件不起作用,零配置也没有意义。 -->
<constant name="struts.convention.action.disableScanning" value="false" />
<!--
设置Struts 2是否允许在Action名中使用斜线 。
如果开启action名称可以有“/”,一个请求地址有多个“/”,struts2就不会再使用类路径扫描的命名空间,只会使用配置的名称。
所以既想action名称里使用“/”,又想用struts2默认搜索的命名空间,只能自己修改一下convention插件的实现类了。
-->
<constant name="struts.enable.SlashesInActionNames" value="false" />
<!--
结果资源所在路径。
convention插件会自动在此路径中寻找文件。默认放到WEB-INF的目的的保护文件资源,只能通过程序内部跳转才能访问,
我们的权限拦截器或其他权限处理只要加到action上就可以了。
-->
<constant name="struts.convention.result.path" value="/" />
<!-- action后缀。比如为HelloWorldAction。按照配置,actionName为helloWorld。 -->
<constant name="struts.convention.action.suffix" value="Action" />
<!-- 名称首字母小写 -->
<constant name="struts.convention.action.name.lowercase" value="true" />
<!--
分隔符 一个action名字的获取。比如为HelloWorldAction。按照配置,actionName为helloWorld。
-->
  <constant name="struts.convention.action.name.separator" value="" />
<!--
设置默认的父包,一般我们都设置一个default包继承自struts-default。大部分类再继承default。
如果有特殊的类需要特殊的包,只能在action中再指定父包了。
-->
<constant name="struts.convention.default.parent.package" value="crud-default" />

</struts>

我的配置文件中设置默认theme为simple显然也没有起到半分作用...

此外,<constant name="struts.convention.classes.reload" value="false" />我设置为true时,N多class文件报file not found异常,但这些class都在... 后来看官方说这个有问题,就不用了...

各位前辈,请不吝赐教~~ 这个神奇的名为default的theme哪儿来的呢?还是其他原因产生的?

十分感谢~~~!!!!!!


附jar包一览表。。。antlr-2.7.6.jar
aopalliance.jar
asm-3.1.jar
asm-commons-3.1.jar
asm-tree-3.1.jar
aspectjrt.jar
aspectjweaver.jar
axis.jar
axis-ant.jar
backport-util-concurrent.jar
bcprov-jdk15-133.jar
c3p0-0.9.1.2.jar
cglib-nodep-2.1_3.jar
commons-beanutils.jar
commons-cli-1.2.jar
commons-codec.jar
commons-collections-3.1.jar
commons-dbcp-1.2.2.jar
commons-discovery-0.2.jar
commons-el.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.5.jar
commons-logging.jar
commons-pool.jar
dom4j-1.6.1.jar
ehcache-1.5.0.jar
ezmorph-1.0.6.jar
freemarker-2.3.16.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javassist-3.12.0.GA.jar
json-lib-2.4-jdk15.jar
jta-1.1.jar
junit-4.4.jar
log4j-1.2.15.jar
mysql-connector-java-5.1.14-bin.jar
ognl-3.0.1.jar
proxool-0.9.1.jar
proxool-cglib.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
spring-aop.jar
spring-beans.jar
spring-context.jar
spring-context-support.jar
spring-core.jar
spring-jdbc.jar
spring-orm.jar
spring-test.jar
spring-tx.jar
spring-web.jar
sqljdbc4.jar
standard.jar
struts2-convention-plugin-2.2.3.jar
struts2-core-2.2.3.jar
struts2-jfreechart-plugin-2.1.6.jar
struts2-json-plugin-2.2.3.jar
struts2-spring-plugin-2.2.3.jar
xwork-core-2.2.3.jar
2012年3月30日 09:03

1个答案 按时间排序 按投票排序

0 0

Struts2的默认主题确实是Simple

2012年3月31日 14:32

相关推荐

    Struts2属性文件详解

    该属性用于指定加载Struts 2配置文件的配置文件管理器,默认值为`org.apache.struts2.config.DefaultConfiguration`,这是Struts 2默认的配置文件管理器。若需要实现自定义的配置管理器,则需创建一个实现了`...

    struts2 fielderror去掉样式

    然后,复制Struts2的默认`fielderror.ftl`模板到`struts-default/freemarker`目录下,并根据需要修改。例如,你可以移除或替换样式类,或者完全改变错误显示的HTML结构。 2. **配置Struts2**:在`struts.xml`配置...

    让Struts2直接支持浏览FreeMarker的FTL文件

    这个文件是我从Struts2老版本中摘出来的FreemarkerServlet,将其加入到项目中,然后在web.xml中增加下面的代码即可。 &lt;!-- FreeMarker Servlet --&gt; &lt;servlet&gt; &lt;servlet-name&gt;freemarker&lt;/servlet-name&gt; ...

    struts2 theme主题

    在压缩包`Struts2_2100_Theme_4`中,可能包含了Struts2的一个特定版本(2.1.0)的关于主题的相关资源,比如预定义主题的模板文件、CSS样式表和JavaScript文件。解压这个文件后,开发者可以研究这些文件,理解它们的...

    Struts2+Freemark

    2. 编写FreeMarker模板文件(通常以`.ftl`为扩展名),定义视图布局和数据展示方式。 3. 在Struts2配置文件(如`struts.xml`)中配置Action,包括Action的类路径、方法映射、结果类型等。 4. 使用OGNL或FreeMarker...

    可用的ftl文件压缩包

    "world转ftl文件后发现内容一样却不能用"可能是因为FTL文件的语法结构、指令或变量引用存在问题,或者是与后端数据绑定的方式不匹配。而"将内容替换到ftl上后,该内容就可以使用了"可能意味着原始FTL文件的模板结构是...

    Freemarker代码生成器实体映射xml的ftl模板文件

    Freemarker代码生成器是一种强大的工具,用于自动生成符合特定需求的代码,它可以极大地提高开发效率,减少重复劳动。...`XML.ftl`文件是这个过程的核心,它的设计和定制直接影响到生成XML文件的质量和适用性。

    struts2错误显示

    对于上述两种默认的显示方式,可能并不满足所有应用场景的需求,例如需要将错误信息显示在字段之后,且保持在同一行内,这时就需要对Struts2的错误信息显示格式进行自定义。 ##### 自定义步骤: 1. **定制CSS样式**...

    struts2 全局异常提示定义属性文件使用

    默认情况下,Struts2会显示一个简单的错误页面,但这通常不够具体和友好。为了解决这个问题,我们可以通过创建一个全局异常映射(Global Exception Mapping)来定义特定异常的处理方式。 1. 创建异常属性文件: 在...

    struts2整合fileupload

    Struts2整合FileUpload是Java Web开发中常见的一项任务,它允许用户在应用程序中上传文件。Struts2是一个强大的MVC框架,而FileUpload则是一个处理文件上传的库,通常与Struts2结合使用,以提供更完善的文件上传功能...

    Struts2+FreeMarker部署

    Struts2和FreeMarker是两种在Java Web开发中广泛应用的技术。Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,用于构建企业级Web应用程序,而FreeMarker则是一个模板引擎,用于生成动态HTML或...

    带xml、ftl格式化工具的editplus

    EditPlus虽然默认可能不直接支持FTL,但你可以通过以下步骤添加FTL支持: 1. 在“文件类型”设置中,点击“新建”(New)创建一个新的文件类型。 2. 输入“FTL”作为文件类型名,然后为FTL文件分配一个或多个关联的...

    Struts2与Freemarker的配置方法

    2. **Struts2核心配置**:在Web应用的WEB-INF目录下创建struts.xml文件,这是Struts2的核心配置文件,用来定义Action(控制器)、结果视图和拦截器等。例如,定义一个简单的Action: ```xml &lt;package name="...

    freemarker与struts2详细配置

    首先,需要在`struts.xml`配置文件中声明FreeMarker作为默认的模板引擎。这可以通过添加以下配置实现: ```xml &lt;constant name="struts.action.extension" value="action"/&gt; &lt;constant name="struts.devMode" value...

    FTL 编辑器

    FTL文件是FreeMarker模板的源代码文件,用于分离应用程序逻辑与视图层的呈现。 free firstobjiect XML editor则是一款专门针对XML和FTL格式的编辑器,它提供了一种高效的方式来编写、调试和管理这两种类型的文件。...

    在struts2中使用freemarker模版

    要开始在Struts2中使用FreeMarker模板,首先需要将`freemarker-2.3.8.jar`库文件导入到你的项目的`WEB-INF/lib`目录下。这个库包含了FreeMarker模板引擎的所有必要组件。然后创建一个新的web工程,例如`...

    Java生成word文档(仅一个文档模板原件和转换后缀为.ftl格式文件)

    然后,将这个.docx文件转换为.ftl文件。转换过程可能需要使用一些工具或库,如Apache POI和FreeMarker的结合使用。 2. **设置数据模型**:在Java代码中,创建一个数据模型,它包含生成文档所需的全部数据。这些数据...

    eclipse下如何打开ftl文件共6页.pdf.zip

    Eclipse本身并不直接支持FTL文件的编辑,但通过安装特定的插件,我们可以轻松地在Eclipse中打开和编辑这些文件。以下将详细介绍如何在Eclipse中配置和使用FTL文件。 首先,我们需要安装支持FTL文件的插件。最常用的...

    Struts2整合SiteMesh技巧

    1. **struts-cleanup**过滤器:该过滤器的作用是在Struts2处理完请求之后不立即清除`ActionContext`,这样可以让SiteMesh有机会访问到Struts2的值栈,从而实现数据的正确渲染。 ```xml &lt;filter-name&gt;struts-...

    ftl排版-xml格式化.zip

    它与XML(Extensible Markup Language)紧密关联,因为XML常被用来作为数据结构来存储和传输信息,而FTL则负责将这些数据渲染成用户友好的格式。在“ftl排版-xml格式化.zip”这个压缩包中,我们有“foxe_241_zwm”这...

Global site tag (gtag.js) - Google Analytics