`
asyty
  • 浏览: 348089 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

解决struts-dojo datatimepicker无法显示

阅读更多

下载struts2-dojo-plugin-2.2.3.1.jar,放到/WEB-INF/lib里

 

在jsp中引入tag

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>

 

 

在<head></head>中加入<sx:head />,<SX:HEAD/>的作用是自动导入struts2 dojo的js和css

 

  <head>    
        <title>测试</title>
	<sx:head />
  </head>

 

 

使用datetimepicker标签

 

<body>
	<sx:datetimepicker label="时间" name="time" displayFormat="yyyy-MM-dd" value="%{2011-01-01}" />
</body>

 

 

 

加入按照之前的步骤,仍然无法显示,我刚才遇到的情况就是如此,chrome查看页面源码发现下面的代码都已经生成,但是直接打开/test/struts/ajax/dojoRequire.js 发现资源不存在

 

<script language="JavaScript" type="text/javascript">
    // Dojo configuration
    djConfig = {
        isDebug: false,
        bindEncoding: "UTF-8"
          ,baseRelativePath: "/test/struts/dojo/"
          ,baseScriptUri: "/test/struts/dojo/"
         ,parseWidgets : false
        
    };
</script>

<script language="JavaScript" type="text/javascript" src="/test/struts/dojo/struts_dojo.js"></script>
<textarea id="dojo.widget.RichText.savedContent" style="display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;"></textarea>
<script language="JavaScript" type="text/javascript" src="/test/struts/ajax/dojoRequire.js"></script>
<link rel="stylesheet" href="/test/struts/xhtml/styles.css" type="text/css">
<script language="JavaScript" src="/test/struts/utils.js" type="text/javascript"></script>

。。。

 

 

遇到这种情况的时候,请检查web.xml的struts配置,假如struts filter的mapping不是对所有url过滤

那么请加入/struts/*,问题解决

 

 

  <filter>
  	<filter-name>struts2</filter-name>
  		<filter-class>
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  		</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>*.action</url-pattern>
  	<dispatcher>REQUEST</dispatcher> 
	<dispatcher>FORWARD</dispatcher> 
  </filter-mapping>
  
  <filter-mapping>  
        <filter-name>struts2</filter-name>  
        <url-pattern>/struts/*</url-pattern>  
    </filter-mapping>  
 

 

 

 

 

 

分享到:
评论
1 楼 dream_1086 2013-05-30  
网上找了很久,一直找不到原因!看了你的,总算找到问题了,谢谢

相关推荐

Global site tag (gtag.js) - Google Analytics