解决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>?
?
?
?
?
?