您好我是jQuery的新手,我正在尝试将一个简单的jQuery选项卡组件添加到从servlet调用的现有jsp页面。 如果我直接访问页面,则会出现jQuery组件,但是当从servlet调用页面时,页面会显示,但jQuery效果不起作用。似乎jQuery永远不会被调用。
以下示例代码:
我只是得到以下内容而不是标签效果
*Tabs
* First
* Second
* Third
This is tab one
This is tab two.
This is tab three*
任何人都可以提供帮助,我已经在网上搜索了几天寻找答案但没有运气。任何帮助将非常感谢
我添加了一个弹出窗口,当从浏览器直接调用页面时出现,但是当从servlet调用页面时不会被调用
public class SBServlet extends HttpServlet {
public SBServlet()
{
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
// redirecting to test.jsp
getServletContext().getRequestDispatcher("/JSP/test.jsp").forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doPost(request, response);
}
}
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link type="text/css" href="../css/hot-sneaks/jquery-ui-1.8.10.custom.css" rel="stylesheet" />
<script type="text/javascript" src="../js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.8.10.custom.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
alert('jQuery is accessible');
$("#tabs").tabs();
});
</script>
<title>Jquery test</title>
</head>
<body>
<h2 class="demoHeaders">Tabs</h2>
<div id="tabs">
<ul>
<li><a href="#tabs-1">First</a></li>
<li><a href="#tabs-2">Second</a></li>
<li><a href="#tabs-3">Third</a></li>
</ul>
<div id="tabs-1">This is tab one</div>
<div id="tabs-2">This is tab two.</div>
<div id="tabs-3">This is tab three</div>
</div>
</body>
</html>
答案 0 :(得分:1)
我正在使用tomcat服务器,因此它的localhost:8080 / Test / JSP / test.jsp,jQuery显示正常。从servlet我正在调用初始的jsp文件,它调用servlet转发到test.jsp。 URL是localhost:8080 / Test / SBServlet?handler = login
您已声明相对于当前请求网址的脚本网址。
<script type="text/javascript" src="../js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.8.10.custom.min.js"></script>
如果您使用例如Firebug调试了HTTP流量,您会注意到,在servlet URL上,脚本已从http://localhost:8080/js/jquery-1.4.4.min.js
和http://localhost:8080/js/jquery-ui-1.8.10.custom.min.js
加载,每个脚本都显示为404页面不存在。
您想从上下文路径/Test
加载它们。您需要修复脚本URL,使其相对于域根而不是当前请求URL。
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-ui-1.8.10.custom.min.js"></script>
然后,这将以生成的HTML结尾
<script type="text/javascript" src="/Test/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="/Test/js/jquery-ui-1.8.10.custom.min.js"></script>