u010511715
2009-04-21 14:16
浏览 235
已采纳

struts2.1.16上运行ajax报Error: 'dojo' is undefined

承接问题:
http://www.iteye.com/problems/15272
http://www.iteye.com/problems/15246

我觉得是不是ajax配置的问题。

关于ajax的配置请参考http://www.iteye.com/problems/15246

[b]问题补充:[/b]
我已经把struts2-dojo-plugin-2.1.6.jar放到WEB-INF/lib目录下,同时在jsp上也加了:

[code="java"]



Insert title here

[/code]

还要怎样呀?

[b]问题补充:[/b]
to lovewhzlq:

我觉得这个可能是ajax配置的问题。昨天我是按照以下步骤配置ajax的:

  1. 在web.xml加入:
    Java代码


    dwr

    uk.ltd.getahead.dwr.DWRServlet



    debug

    true







    dwr

    /dwr/*


    dwr
    uk.ltd.getahead.dwr.DWRServlet

    debug
    true



    dwr
    /dwr/*

  2. 在WEB-INF下生成dwr.xml文件,内容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
    "http://www.getahead.ltd.uk/dwr/dwr10.dtd" >
    Java代码



    <!-- 定义将org.apache.struts2.validators.DWRValidator创建成一个validator对象 -->



    value="org.apache.struts2.validators.DWRValidator" />



    <!-- 定义一个转换器 -->

    converter="bean" />





    <![CDATA[

    import java.util.Map;

    import org.apache.struts2.validators.DWRValidator;

    DWRValidator.doPost(String,String,Map);

    ]]>




<!-- 定义所有需要被暴露的Java方法 -->

<!-- 定义将org.apache.struts2.validators.DWRValidator创建成一个validator对象 -->

value="org.apache.struts2.validators.DWRValidator" />

<!-- 定义一个转换器 -->
converter="bean" />


<![CDATA[
import java.util.Map;
import org.apache.struts2.validators.DWRValidator;
DWRValidator.doPost(String,String,Map);
]]>

  1. 下载dwr.jar

  2. 在相关jsp的

    之间加入

但是,出现以下问题:
1. jsp上不能出现ajax相关的属性

/s:submit
jsp报警提示:undefined attribute name(target)

  1. 运行时报以下错误: SEVERE: Servlet.service() for servlet jsp threw exception java.io.FileNotFoundException: Template /template/ajax/head.ftl not found.

然后,修改了struts2-core-2.1.6.jar强行加入ajax template。解决了问题2(即/template/ajax/head.ftl not found)

具体请参考:http://www.iteye.com/problems/15246
[b]问题补充:[/b]
改为这个

jsp报出警告信息:undefined attribute name(theme)

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • wanghaolovezlq 2009-04-21 15:45
    已采纳

    然后,修改了struts2-core-2.1.6.jar强行加入ajax template。解决了问题2(即/template/ajax/head.ftl not found)

    这个应该可以不用强行加入ajax template了,
    现在已经是用插件方式struts2-dojo-plugin-2.1.6.jar

    dwr你就用struts-2.1.6\lib下的dwr-1.1.1.jar

    改为这个
    [color=red]

    已采纳该答案
    打赏 评论
  • weixin_42297497 2009-04-21 14:37

    看看引入的dojo路径,明显是找不到嘛

    打赏 评论
  • hantsy 2009-04-21 14:39

    没有导入dojo。。。

    打赏 评论
  • wanghaolovezlq 2009-04-21 15:01

    我觉得是不是你还有包没有引入

    struts-2.1.6\lib下不是已经有所有需要的jar包了

    你把你原来自己引入的jar包去掉,把struts-2.1.6\lib这里面的都引入,去试看看

    打赏 评论
  • wanghaolovezlq 2009-04-21 16:02


    就这样,不用加那个属性了,默认就是ajax的主题

    打赏 评论

相关推荐 更多相似问题