2011-05-26 4 views
1

J'ai une application struts 2. Version 2.2.3. Mon problème est que l'application n'est pas capable de charger les fichiers javascript. J'ai un fichier jsp qui le suit au sommetstruts2 Fichier jsp impossible de charger javascript

<%@ 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> 

mes fichiers sont situés dans ce qui suit dir

struts2tutorial/static/script/jquery 

En Firebug je vois l'adresse suivante

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

Si i faites ce qui suit sur le navigateur. Je reçois un fichier 404 non trouvé. Je ne sais pas qu'est-ce que je fais mal

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

Répondre

2

Sauf si vous avez spécialement configuré votre extension d'action pour correspondre à tout, vous ne devriez pas avoir le/statique ou le <s:url/> choses du tout. Si l'on suppose que le répertoire de script est dans votre fichier WAR/répertoire éclaté, cela suffit:

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

Mettre les fichiers javascript dans struts2tutorial/statique/script/jquery ne signifie pas nécessairement que est le chemin qui est utilisé lors du déploiement de l'application sur votre serveur. Vérifiez pour voir où ce chemin finit par être mappé sur votre serveur.

0

essayer

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

dans la barre d'adresse et le code ci-dessous dans votre jsp

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

Pour moi, le problème était dans mon web.xml. vous devez ajouter "/ struts/*" à votre modèle de filtre car les fichiers js ne sont pas vraiment des fichiers. Je suppose que c'est une action struts derrière l'url même si elle n'est pas détectée par le plugin struts2-config-brower.

<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> 
Questions connexes