我正在用Java编写一个小型Web应用程序。我想在最终用户查看本书的书籍和评级细节时为图书馆中的书籍创建评级系统。我用 http://tech.pro/tutorial/931/how-to-build-a-star-ratings-jquery-plugin实施它。 我的jsp页面是:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Star rating demo</title>
<link type="text/css" rel="stylesheet" href="../css/jquery.ratings.css" />
<script src="../js/jquery-1.3.2.min.js"></script>
<script src="../js/jquery.ratings.js"></script>
<script src="../js/example.js"></script>
<s:head/>
</head>
<body>
<div id="example-1"></div> <br />
Your Rating: <span id="example-rating-1">not set</span>
<br /><br />
<div id="example-2"></div> <br />
Your Rating: <span id="example-rating-2">not set</span>
<h1><s:text name="welcome" /></h1>
</body>
但是星号不会显示在浏览器中。我使用Netbeans并在WEB-INF中创建文件夹,其名称为'css'和'js'.inside of css文件夹我有:
css - &gt; jquery.ratings.css和明星的图片
并在js文件夹中:
js - &gt; jquery.ratings.js和jquery-1.3.2.min.js和example.js
但是当我运行应用程序时,不会显示星标。有谁可以帮助我?
我的英语的借口。
答案 0 :(得分:0)
浏览器必须下载CSS文件和JS文件。而WEB-INF恰好是一个目录,prower无法下载任何内容:它包含必须保持对webapp私有的配置,类和jar文件。所以你不应该把这些文件放在WEB-INF中。
如果浏览器地址栏中显示的URL为http://localhost/myApp/foo/bar.jsp
,并且您在JSP中的相对URL为../js/example.js
,则浏览器将在URL {{1}下载JS文件}。因此,在这种情况下,JS文件应位于名为http://localhost/myApp/js/example.js
的目录中,该目录位于您的webapp的根目录下。
如果网址为js
,则浏览器会在网址http://localhost/myApp/foo/bar/baz/bang/bing.jsp
中查找JS文件。我的建议:不要为JS和CSS文件使用相对路径(事实上也不要使用其他所有内容)。使用绝对路径:
http://localhost/myApp/foo/bar/baz/js/example.js
这样,无论页面的URL如何,浏览器都会始终在URL <script src="<c:url value='/js/example.js'/>"></script>
处查找JS文件。