struts2 jsp文件无法加载javascript

时间:2011-05-26 14:49:19

标签: struts2

我有一个struts 2应用程序。版本2.2.3。我的问题是应用程序无法加载javascript文件。我有一个jsp文件,顶部有

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
<head>
    <title>Ajax</title>
    <script type="text/javascript" src=" <s:url value="/static/script/jquery/jquery-1.6.min.js" includeParams="false"/>" ></script>
    <script type="text/javascript" src=" <s:url value="/static/script/jquery/jquery-ui-1.8.12.custom.min.js" includeParams="false"/>" ></script>
</head>

我的文件位于以下目录

struts2tutorial/static/script/jquery

在萤火虫中我看到以下网址

<script src=" /struts2tutorial/static/script/jquery/jquery-1.6.min.js" type="text/javascript">

如果我在浏览器上执行以下操作。我找不到404文件。不确定我做错了什么

http://localhost:8010/struts2tutorial/static/script/jquery/jquery-1.6.min.js

4 个答案:

答案 0 :(得分:2)

除非您专门配置了您的操作扩展程序以匹配所有内容,否则您根本不需要/ static或<s:url/>内容。假设脚本目录位于WAR文件/爆炸目录中,这就足够了:

<script type="text/javascript" src="${pageContext.request.contextPath}/script/jquery/jquery-1.6.min.js"></script>

答案 1 :(得分:0)

将javascript文件放在struts2tutorial / static / script / jquery中并不一定意味着将应用程序部署到服务器时使用的路径。检查该路径最终会在服务器上映射到何处。

答案 2 :(得分:0)

http://localhost:8010/static/script/jquery/jquery-1.6.min.js
地址栏中的

和jsp中的以下代码

<script type="text/javascript" src=" <s:url value="static/script/jquery/jquery-1.6.min.js" includeParams="false"/>" ></script>

答案 3 :(得分:0)

对我来说问题出在我的web.xml中。 你必须添加&#34; / struts / *&#34;到您的过滤器模式,因为js文件不是真正的文件。我认为即使struts2-config-brower插件没有检测到它,这也是网址背后的struts动作。

<filter>
<filter-name>struts2</filter-name>
<filter-class>
       org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
</filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.action</url-pattern>
    <url-pattern>/struts/*</url-pattern>
</filter-mapping>