当jquery在HTML上工作正常时,jquery没有在JSP上工作

时间:2014-06-10 11:58:11

标签: jquery spring jsp tomcat taglib

我正在研究JSP上的日期时间选择器实用程序(主要是在Spring:Form上,但现在回到普通JSP上进行调试以查找根本原因)。虽然同样适用于HTML,但我无法在JSP上运行它。我在Tomcat 7.0上运行它。请帮我解决一下这个。这是我的代码:

test.html:工作正常

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="./jquery.datetimepicker.css"/>
</head>
<body>

    <h3>DateTimePicker</h3>
    <input type="text" value="2014/03/15 05:06" id="datetimepicker"/><br><br>

</body>
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript" src="./jquery.datetimepicker.js"></script>
<script type="text/javascript">
$('#datetimepicker').datetimepicker()
    .datetimepicker({value:'2015/04/15 05:03',step:10});


</script>
</html>

在JSP中使用与上面相同的代码,脚本不起作用,我甚至尝试包含.css和.js文件,如下所示,只要当前文件夹中存在所有提到的文件并提供web.xml已经有.css和.js文件的默认servlet映射。

 <%@ include file="jquery.datetimepicker.css"%>
 <%@ include file="jquery.js"%>  
 <%@ include file="jquery.datetimepicker.js"%>

我之前使用的另一个日期选择器功能适用于Spring:Form。这是使用Spring标记库时执行相当复杂的代码。这里一个值得注意的方面是.css和.js引用是Web URL而不是本地文件。

工作JSP:

<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page session="true"%>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>

<form:form method="post" action="add.html" commandName="reminderObject">
    <table>
    <tr>
    <td><form:input type="text" path="date"  id="datepicker"/></td>
    <script>  $(function() {    $( "#datepicker" ).datepicker()});  </script>
    </tr>
    </table>
</form:form> 

2 个答案:

答案 0 :(得分:1)

<script type="text/javascript" src="${pageContext.servletContext.contextPath}/jquery.js"></script>
<script type="text/javascript" src="${pageContext.servletContext.contextPath}/jquery.datetimepicker.js"></script>

删除您正确包含js的包含行,并将其放在2行以上,然后尝试

答案 1 :(得分:0)

在我们在这里尝试过的所有火箭科学中,它都是<!DOCTYPE html>,当它包含在JSP文件中时,对我来说就是一招。令我惊讶但非常高兴我现在通过。感谢Bhushan Kawadkar和Nirav Prajapati的宝贵参与。