2010-11-06 2 views
0

У меня есть простая страница со столом, и я хочу, чтобы она была сортируемой, поэтому я получил jquery и tablesorter. Heres моя страница:jQuery Tablesorter не будет работать на JSP

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <link rel="stylesheet" type="text/css" href="/css/base.css"/> 
    <script src="/javascript/jquery-1.4.3.js" type="text/javascript"></script> 
    <script src="/javascript/jquery.tablesorter.js" type="text/javascript"></script> 
    <title>JSP Page</title> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#tabela").tableSorter(); 
     }); 
    </script> 
</head> 

<body>   
    <p> 
     <label><h3>Lista de Personagens</h3></label> 
    </p> 
    <p> 
     <a href="inserir.htm">Novo Personagem</a> 
    </p> 
    <table id="tabela" border="1" cellspacing="0" cellpadding="0"> 
     <tr> 
      <th>Codigo</th> 
      <th>Nome</th> 
      <th>Classe</th> 
      <th colspan="3">Opções</th> 
     </tr> 
     <c:forEach items="${lista}" var="p"> 
      <tr> 
       <td>${p.id}</td> 
       <td>${p.nome}</td> 
       <td>${p.classe}</td> 
      <form id="formAlterar${p.id}" method="get" action="alterar.htm"> 
       <td> 
        <input type="hidden" name="id" value="${p.id}" /> 
        <a href="#" onclick="document.getElementById('formAlterar${p.id}').submit()">Alterar</a> 
       </td> 
      </form> 
      <form id="formConsultar${p.id}" method="post" action="consultar.htm"> 
       <td> 
        <input type="hidden" name="id" value="${p.id}" /> 
        <a href="#" onclick="document.getElementById('formConsultar${p.id}').submit()">Consultar</a> 
       </td> 
      </form> 
      <form id="formExcluir${p.id}" method="post" action="excluir.htm"> 
       <td> 
        <input type="hidden" name="id" value="${p.id}" /> 
        <a href="#" onclick="document.getElementById('formExcluir${p.id}').submit()">Excluir</a> 
       </td> 
      </form> 
     </tr> 
    </c:forEach> 
</table> 

У меня есть яваскрипта папку на том же уровне, что и WEB-INF. Кажется, я указал на нужное место. но когда я загружаю страницу, ничего не происходит, фиксируется таблица statys, нет сортировки. Может ли это быть связано с фактом im с использованием Spring MVC, и отображение указывает на неправильное местоположение? Heres мой Метод отображения:

@RequestMapping("/personagem/index.htm") 
public ModelAndView listar(@RequestParam(value = "mensagem", required = false) String mensagem) { 
    ArrayList<Personagem> lista = getPersonagemService().listarTodos(); 
    return new ModelAndView("listar", "lista", lista); 
} 

Edit: Сгенерированный HTML код (это немного долго, поэтому я отрезать повторяющуюся часть):

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <link rel="stylesheet" type="text/css" href="/css/base.css"/> 
    <script src="/javascript/jquery-1.4.3.js" type="text/javascript"></script> 
    <script src="/javascript/jquery.tablesorter.js" type="text/javascript"></script> 
    <title>JSP Page</title> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#tabela").tableSorter(); 
     }); 
    </script> 
</head> 

<body>   
    <p> 
     <label><h3>Lista de Personagens</h3></label> 
    </p> 
    <p> 
     <a href="inserir.htm">Novo Personagem</a> 
    </p> 
    <table id="tabela" border="1" cellspacing="0" cellpadding="0"> 
     <tr> 
      <th align="center">Nome</th> 
      <th align="center">Classe</th> 
      <th width="250" colspan="3">Opções</th> 
     </tr> 

      <tr> 
       <td width="150" align="center">Melys</td> 
       <td width="150" align="center">Priest</td> 
      <form id="formAlterar4" method="get" action="alterar.htm"> 
       <td align="center"> 
        <input type="hidden" name="id" value="4" /> 
        <a href="#" onclick="document.getElementById('formAlterar4').submit()">Alterar</a> 
       </td> 
      </form> 
      <form id="formConsultar4" method="post" action="consultar.htm"> 
       <td align="center"> 
        <input type="hidden" name="id" value="4" /> 
        <a href="#" onclick="document.getElementById('formConsultar4').submit()">Consultar</a> 
       </td> 
      </form> 
      <form id="formExcluir4" method="post" action="excluir.htm"> 
       <td align="center"> 
        <input type="hidden" name="id" value="4" /> 
        <a href="#" onclick="document.getElementById('formExcluir4').submit()">Excluir</a> 
       </td> 
      </form> 
     </tr> 
+0

Можем ли мы увидеть фактический HTML-код, который сгенерирован? Может ли ваша страница загружать файлы JS? –

+0

Я не знаю, плохой пост html – onildo

+0

Я только что отредактировал и добавил код HTML – onildo

ответ

1

Have вы подтвердили, что следующие ресурсы подаются правильно ? (Например, они не являются 404, они имеют правильный тип содержимого и т.д.)

  • /css/base.css
  • /javascript/jquery-1.4.3.js
  • /JavaScript/jquery.tablesorter.js

Если да, то вы использовали что-то вроде Firefox Error Console, чтобы убедиться, что нет ошибок JavaScript в вашем коде?

Кроме того, почему вы встраиваете формы в свою таблицу, которые, как представляется, просто ссылаются на страницу с идентификатором? Другими словами, почему бы просто не сослаться на страницу?

+0

Я проверил с консолью ошибок, и только erro i get is '$ не определен' – onildo

+0

Я изменил ссылку ядра jQuery на удаленную версию, и он прекратил показывать эту ошибку. Проблемы все еще сохраняются, потому что tablesorter является локальным. Я не могу получить локальный путь. – onildo

+0

Итак, похоже, что три ресурса не обслуживаются должным образом. Это объясняет сообщение об ошибке, которое вы получали, и почему оно ушло, когда вы связались с удаленной копией jQuery. Я не знаком с Spring MVC, поэтому вы можете обратиться к документации для обслуживания статических ресурсов. –

 Смежные вопросы

  • Нет связанных вопросов^_^