您现在的位置: 主页 > 黑客联盟 > 黑客攻击 > 文章内容

最近盗QQ密码有一个项目使用了struts2,用到了日是期控件

作者: 盗QQ密码 来源:未知 时间: 2019-05-31 阅读:

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

 

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

 

?
1
2
3
4
5
6
7
8
9
10
11
<%@ page contentType="text/html; charset=gb2312" pageEncoding="gb2312"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<HTML>
    <HEAD>
         
        <S:HEAD theme="xhtml" />
        <SX:HEAD extraLocales="UTF-8" />
     
     
    <SX:DATETIMEPICKER name="picker" value="%{'2007-01-01'}" />
结果日历框就是不显示,在 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只配置了

 

?
1
2
3
4
<FILTER-MAPPING>
<FILTER-NAME>struts2</FILTER-NAME>
<URL-PATTERN>*.action</URL-PATTERN>
</FILTER-MAPPING>

 

生成的代码是像这样的

 

?
1
2
3
<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

 

 

?
1
2
3
4
<FILTER-MAPPING>
        <FILTER-NAME>struts2</FILTER-NAME>
        <URL-PATTERN>/struts/*</URL-PATTERN>
    </FILTER-MAPPING>

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