【问题标题】:can not implement star rating system in jsp无法在jsp中实现星级评分系统
【发布时间】:2013-04-20 14:02:07
【问题描述】:

我正在用 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”。在我拥有的 css 文件夹内:

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

在js文件夹中:

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

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

对不起,我的英语不好。

【问题讨论】:

  • WEB-INF下的一切都无法从外部访问。此目录包含必须对 webapp 保密的文件。不要把你的 CSS 和 JS 文件放在那里。
  • 感谢您的解释。那么我应该如何在jsp中设置文件路径?我将 css 和 js 文件夹放在 WEB-INF 之外。如何在 jsp 页面中为它们设置路径?
  • 我认为我们只能访问jsp页面中WEB-INF内的文件夹。错了吗?

标签: jsp web-applications


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 感谢您的解释。我更改了文件路径但不知道js和css文件。
  • 如果您需要更多帮助,您需要详细说明一下。只是说“它不起作用”根本没有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多