0

我正在用 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 我的 css 文件夹:

css --> jquery.ratings.css 和星星的图片

在 js 文件夹中:

js --> jquery.ratings.js 和 jquery-1.3.2.min.js 和 example.js

但是当我运行该应用程序时,不显示星星。谁能帮我?

原谅我的英语。

4

1 回答 1

0

CSS 文件和 JS 文件必须通过浏览器下载。而 WEB-INF 正是一个目录,prower 无法从中下载任何内容:它包含配置、类和 jar 文件,这些文件必须对 webapp 保持私有。所以你不应该把这些文件放在 WEB-INF 中。

如果浏览器地址栏中显示的 URL 是http://localhost/myApp/foo/bar.jsp,而你在 JSP 中的相对 URL 是../js/example.js,那么浏览器会下载该 URL 处的 JS 文件http://localhost/myApp/js/example.js。因此,在这种情况下,JS 文件应该位于名为 的目录中js,位于 webapp 的根目录下。

如果 URL 是http://localhost/myApp/foo/bar/baz/bang/bing.jsp,则浏览器将在 URL 处查找 JS 文件http://localhost/myApp/foo/bar/baz/js/example.js。我的建议:不要对你的 JS 和 CSS 文件使用相对路径(事实上,对于其他所有文件)。使用绝对路径:

<script src="<c:url value='/js/example.js'/>"></script>

这样,无论页面的 URL 是什么,浏览器都会始终在 URL 处查找 JS 文件http://localhost/myApp/js/example.js

于 2013-04-20T15:47:33.820 回答