根据选择列表中的用户选择加载新的JSP页面

时间:2013-03-19 18:33:27

标签: java jsp servlets

提前感谢您的帮助,希望这里只是一个简单的问题。

我希望根据用户从选择列表中选择的内容链接到另一个页面。

例如,如果用户应从列表中选择“注入”,则只要他点击它就会将其注入“注入”JSP页面。在JSP中是否存在任何类型的.getSelectedIndex jsp?刚刚开始,所以我不太了解它。

<%@page contentType="text/html" pageEncoding="UTF-8"%>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <%@include file ="headerJSP.jsp" %>

    <center>
    Please select an OWASP topic:
    <select id="OWASPTopicList">
        <option value="" selected>Choose a topic</option>
        <option value="injectionJSP.jsp">Injection</option>
        <option value="https://www.google.ie/">Cross-Site Scripting (XSS)</option>
        <option value="TopicThree">Broken Authentication and Session Management</option>
        <option value="TopicFour">Insecure Direct Object References</option>
        <option value="TopicFive">Cross Site Request Forgery (CSRF)</option>
        <option value="TopicSix">Security Misconfiguration</option>
        <option value="TopicSeven">Insecure Cryptographic Storage</option>
        <option value="TopicEight">Failure to Restrict URL Access</option>
        <option value="TopicNine">Insufficient Transport Layer Protection</option>
        <option value="TopicTen">Unvalidated Redirects and Forwards</option>
    </select>
    </center>

    <script>
        $(function(){
        // bind change event to select
        $('#OWASPTopicList').bind('change', function () {
        var url = $(this).val(); // get selected value
        if (url) // require a URL
              { 
              window.location = url; // redirect
              }
        return false;
         });
       });
   </script>

    <%@ include file="footerJSP.jsp" %>

编辑:感谢您的帮助,使用了建议的代码,但它无法正常工作。编辑我的代码以反映其当前状态,任何想法都错了吗?页面编译并运行正常,但选择“注入”或“跨站点脚本(XSS)”不会根据需要重定向(这是我的两个测试选项,主要目标是所有选项重定向到其他jsp页面。)

编辑2:完美的哈德里克,现在正在工作,非常感谢:D

2 个答案:

答案 0 :(得分:0)

<script>
    $(function(){
      // bind change event to select
      $('#dynamic_select').bind('change', function () {
          var url = $(this).val(); // get selected value
          if (url) { // require a URL
              window.location = url; // redirect
          }
          return false;
      });
    });
</script>

答案 1 :(得分:0)

您需要在代码中加入js jQuery。我在jquery.min.js下的js目录下有webapps。所以,就像这样

<script type="text/javascript" src="js/jquery.min.js"></script>

然后使用

id的{​​{1}}绑定到select事件
onchange