在Strust2 使用datatimepicker 标签引发的一系列问题
问题:出现无法识别的问题
原因:Strust2.1开始,对于ajax类的标签不再使用<%@ taglib prefix="s" uri="/struts-tags"%> 引用
而是<%@ taglib prefix="sd" uri="/struts-dojo-tags"%>
解决方法:WEB-INF/lib下面添加struts2-dojo-plugin.jar包;,然后像类似这样的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags"%> <%@ taglib prefix="sx" uri="/struts-dojo-tags"%> < html > < head > < sx:head /> </ head > < body > < s:form method="post" theme="simple"> < sx:datetimepicker name="startDate" toggleType="explode" toggleDuration="400" displayFormat="yyyy-MM-dd" id="start" value="today" label="date"> </ sx:datetimepicker > < s:submit value="submit"></ s:submit > </ s:form > </ body > |
这个时候出现了新问题:
运行报错:
Unable to load configuration. - bean - jar:file:/E:/Program%20Files/apache-tomcat-8.0.3/webapps/web/WEB-INF/lib/struts2-dojo-plugin-2.3.16.1.jar!/struts-plugin.xml:29:136
原因:
struts2.3.16.xx版本把相关类进行了修改(改为 <bean type="org.apache.struts2.views.TagLibraryDirectiveProvider" name="sx" class="org.apache.struts2.dojo.views.DojoTagLibrary" /
当你使用的Strust2-dojo-plugin.jar的版本过低,比喻Strust2 使用的是2.3.16.2,而你的Strust2-dojo-plugin是2.3.4时就会找不到类。
Strust2-dojo-plugin 2.3.4 的Strust-plugin文件:
<struts> <bean type="org.apache.struts2.views.TagLibrary" name="sx" class="org.apache.struts2.dojo.views.DojoTagLibrary"/> </struts>
Strust2 2.3.16.1版本中已经改为
办法就是使用一个跟你使用的Strust2版本相符的Strust2-dojo-plugin版本的jar
下载地址
http://repo1.maven.org/maven2/org/apache/struts/struts2-dojo-plugin/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 上周热点回顾(1.20-1.26)
· 【译】.NET 升级助手现在支持升级到集中式包管理