Struts2日期控件datatimepicker不能正常显示的问题

     最近有一个项目使用了struts2,用到了日是期控件,我用的是2.2.1版本。

    代码如下,只截了最简单的代码示例

<%@ page contentType="text/html; charset=gb2312" pageEncoding="gb2312"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<html>
    <head>
        <title>注册</title>
        <s:head theme="xhtml"/>
        <sx:head extraLocales="UTF-8"/>
    </head>
    <body>
	<sx:datetimepicker value="%{'2007-01-01'}" name="picker" />
    </body>
</html>
结果日历框就是不显示,在 FF和猎豹下也不报错,后来在IE8下发现了报错:

 'djConfig.searchIds' 为空或不是对象

感觉很奇怪,不知道是哪里配置有问题,心想不会是 struts配置文件的问题吧,经过了不断的尝试,最后在网上找到一段资料

struts tags的使用要求:

Struts tags are only usable when the request has passed through its servlet filter

需要把dojo的文件也通过struts2的servlet filter才能被正常引用。

原来我最开始的struts mapping只配置了

        <filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
        </filter-mapping>

<sx:head />生成的代码是像这样的

<script language="JavaScript" src="/dzdx/struts/utils.js" type="text/javascript"></script>
<script language="JavaScript" src="/dzdx/struts/xhtml/validation.js" type="text/javascript"></script>
<script language="JavaScript" src="/dzdx/struts/css_xhtml/validation.js" type="text/javascript"></script>

所以我要增加一段 mapping

<filter-mapping>
	    <filter-name>struts2</filter-name>
	    <url-pattern>/struts/*</url-pattern>
	</filter-mapping>

加上这段后,一切正常了。


    

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值