在项目中使用到Struts2的dojo时,出现java.io.FileNotFoundException: Template /template/ajax/head.ftl not found. 有时出现.../text.ftl not found. 错误。
分析一下:
从strtus2.1.x开始,Struts2团队将dojo从核心包里面提取出来,成为一个struts2的插件struts2-dojo-plugin-*.jar,因此在jsp页面上,若要使用dojo的话,必须引入如下标签库:
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%><sx:head />
当然,若要使用Struts2的标签库,还需引入<%@ taglib prefix="s" uri="/struts-tags"%/>标签库。
另外,Struts2的标签(无论是dojo或非dojo)均需要freeMarker模板文件*.ftl进行渲染和解释以生成Html页面,dojo或非dojo的标签库均配备一套自己的模板文件库,在jsp页面里,struts2根据各标签的theme来查找自己配置的相应模板文件*.ftl,若theme设置不对,则struts2就会从相应路径中找不到需要的ftl文件,就会报错../*.ftl not found.
当在jsp页面内,标签的主题(theme)若设置不正确,则会找不到相应的ftl文件。 比如下面代码:
<s:form method="post" validate="true" theme="xhtml">
<s:textfield label="Name" name="name" />
<s:password label="Password" name="password" />
<s:textfield label="Age" name="age" />
<ss:submit />
</s:form>
上述的theme定为xhtml,若是修改为theme="ajax",则在运行时jsp页面将不会被解析,提示.../text.ftl not found。 这是因为在struts2的核心包中没有template/ajax/text.ftl文件。
jsp文件中使用的标签是dojo的,就会根据theme的设置到与dojo配置的模板文件中去找,使用的标签为struts2的,就到与struts2配套的模板文件中去找。这样才能找得到自己需要的模板文件进行渲染。呵呵,经历了痛苦的探索之后,终于明白了个中原理。
分享到:
相关推荐
Struts2-dojo-plugin-2.2.1.jar 是一个针对Apache Struts2框架的扩展插件,主要用于增强Struts2应用的用户界面交互性,特别是通过集成Dojo JavaScript库来提供丰富的AJAX功能和用户体验。这个插件是Struts2与Dojo ...
Struts2 Dojo Plugin是Apache Struts框架的一个扩展,它为开发者提供了丰富的AJAX功能,以便在基于Struts2的应用程序中实现动态、交互式的用户界面。这个版本号"2.3.15.3"表明这是一个较旧的版本,但仍然在许多现有...
Apache Struts Copyright 2000-2011 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/). Dojo (http://dojotoolkit.org/). ...
在这个例子中,可能使用了Dojo的`dojoContentPane`或者`dijit.form.Form`等组件,配合`dojo.connect`或`dojo.on`监听用户交互事件,然后使用`xhr`方法与后台Struts2 Action进行通信。 Struts2与Dojo的集成通常涉及...
Apache Struts Copyright 2000-2011 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/). Dojo (http://dojotoolkit.org/). ...
Apache Struts Copyright 2000-2007 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/). Dojo (http://dojotoolkit.org/). ...
struts2-dojo 跨域时解决拒绝访问的问题
首先,为了使用Struts Dojo插件,你需要在JSP页面的顶部添加`<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>`的taglib指令,这使得页面能够识别并使用Struts Dojo提供的标签。接着,确保将插件的jar文件复制到...
使用方便,无需安装配置, 下载置入dojo源码下的任意目录即可一键完成打包压缩. 该工具可自动分析HTML文件生成打包方案,自动排除没有用到的js文件,可将dojo压缩到数百K大小. 自带支持高亮、代码提示的profile编辑器,...
struts2-dojo-plugin-2.3.4 jar 日期控件的jar包 需要的自行下载
Struts2提供了`s:a`(Action)和`s:url`(URL)标签,它们可以与Dojo的Ajax功能结合使用。例如,我们可以通过`struts-dojo-plugin`启用Dojo标签库,并使用`s:dojo`标签来初始化Dojo环境。然后,我们可以利用`dijit....
例如,通过Struts2的ACTION标签和Dojo的dojo.data.ItemFileWriteStore,可以轻松地创建一个远程数据驱动的下拉列表。此外,还可以利用Dojo的dojo.connect方法结合Struts2的ActionContext,实现异步调用服务器端方法...
Apache Struts Copyright 2000-2011 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/). Dojo (http://dojotoolkit.org/). ...
此外,书中的内容可能还包括了Ajax库的使用,如jQuery、Prototype、Dojo或Ext JS等。这些库简化了JavaScript的开发,提供了丰富的Ajax功能,包括事件处理、动画效果和数据操作等。例如,jQuery的$.ajax()方法可以...
Struts2的使用中出现的版本不符合或者缺少struts2-dojo-plugin-2.3.16的问题,大家可以下载使用。
struts2-dojo-plugin-2.1.0的jar包,可以再struts中使用dojo......
3、打开浏览器在地址栏输入:http://localhost:8080/Struts2Ajax/login.jsp后回车 4、如果一切正常,那么你会看“测试Ajax”按钮和Struts2的tabbedpanel标签 说明:Struts2天生成Spring整合的,所在“整容”之后,...
2. **dojo.io.bind**: 这是dojo早期版本中用于处理Ajax请求的方法,虽然在新的dojo版本中已被xhr接口取代,但理解其工作原理有助于理解dojo的进化过程。`dojo.io.bind`允许开发者定义请求参数、处理函数以及数据绑定...
在Dojo_AJAX包中,包含了Dojo的Ajax模块,如dojo.xhr、dojo.request等,这些模块用于实现异步通信,使得页面能够在不刷新的情况下与服务器进行数据交换,提升用户体验。 Dojo的dojo/on模块则用于事件处理,可以监听...