jsp中获取url参数的方法与应用场景详解

作者:

文章目录
  • EL表达式是获取URL参数最方便的方式。 <!– 直接获取参数值 –> <p>参数xx的值是:${param.xx}</p> <!– 在HTML属性中使用 –> <input type=”text” value=”${param.xx}” /> <!– 条件判断 –> <c:if test=”${not empty param.xx}”> <p>xx参数存在,值是:${param.xx}</p> </c:if> <!– 多值参数(如?xx=1&xx=2)获取第一个值 –> <p>第一个值:${paramValues.xx[0]}</p> <p>第二个值:${paramValues.xx[1]}</p>
  • <% // 获取单个参数值 String xxValue = request.getParameter(“xx”); // 获取多值参数 String[] xxValues = request.getParameterValues(“xx”); %> <!– 使用获取到的值 –> <p>参数xx的值是:<%= xxValue %></p> <% if (xxValues != null && xxValues.length > 1) { %> <p>所有值:</p> <ul> <% for (String value : xxValues) { %> <li><%= value %></li> <% } %> </ul> <% } %>
  • <%@ page contentType=”text/html;charset=UTF-8″ language=”java” %> <html> <head> <title>获取URL参数示例</title> </head> <body> <h1>URL参数获取演示</h1> <!– 方式1:EL表达式 –> <div> <h2>使用EL表达式:</h2> <p>参数xx的值:<strong>${param.xx}</strong></p> <p>参数yy的值:<strong>${param.yy}</strong></p> <!– 处理可能不存在的参数 –> <c:choose> <c:when test=”${not empty param.xx}”> <p>xx参数存在,值是:${param.xx}</p> </c:when> <c:otherwise> <p>xx参数不存在</p> </c:otherwise> </c:choose> </div> <!– 方式2:JSP脚本 –> <div> <h2>使用JSP脚本:</h2> <% String xx = request.getParameter(“xx”); String yy = request.getParameter(“yy”); if (xx != null && !xx.trim().isEmpty()) { %> <p>参数xx的值:<strong><%= xx %></strong></p> <% } else { %> <p>xx参数不存在或为空</p> <% } %> </div> <!– 实际应用:搜索功能 –> <% String keyword = request.getParameter(“keyword”); if (keyword != null) { %> <h3>搜索结果显示:</h3> <p>您搜索的关键词是:<em><%= keyword %></em></p> <!– 这里可以显示搜索结果 –> <% } %> </body> </html>
  • 空值处理:总是要考虑参数可能不存在的情况 编码问题:中文参数可能需要处理URL编码 <!– 处理中文参数 –> <% String keyword = request.getParameter(“keyword”); if (keyword != null) { keyword = new String(keyword.getBytes(“ISO-8859-1”), “UTF-8″); } %> 安全性:对用户输入的参数进行验证和转义,防止XSS攻击 <!– 使用JSTL函数转义HTML –> <%@ taglib prefix=”fn” uri=”http://java.sun.com/jsp/jstl/functions” %> <p>安全显示:${fn:escapeXml(param.userInput)}</p>
  • 推荐使用EL表达式:${param.参数名},简洁安全 多值参数:使用${paramValues.参数名[索引]}或request.getParameterValues() 一定要处理空值情况,避免NullPointerException 考虑安全性,对用户输入进行转义 EL表达式是现代JSP开发的首选,代码更简洁,可读性更好。 到此这篇关于jsp中获取url参数的方法与应用场景详解的文章就介绍到这了,更多相关jsp获取url参数内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: JSP struts2 url传参中文乱码解决办法 jsp中获得路径的两种方法和获得url路径的方法(推荐) jsp获取url路径的方法分析 JSP对URL链接中的中文乱码处理方法总结 jsp中URL传递中文参数的处理方法 在jsp页面如何获得url参数
  • 目录
    • 一、使用 EL 表达式(推荐,最简洁)
    • 二、使用 JSP 脚本(传统方式)
    • 三、完整示例
    • 四、实际应用场景
      • 1. 搜索功能
      • 2. 分页功能
      • 3. 带默认值的处理
    • 五、重要注意事项
      • 总结

        在JSP中获取URL参数(如 ?xx=yy中的 xx这个参数)非常简单,主要有以下几种方式:

        EL表达式是获取URL参数最方便的方式。

        <!-- 直接获取参数值 -->
        <p>参数xx的值是:${param.xx}</p>
        
        <!-- 在HTML属性中使用 -->
        <input type="text" value="${param.xx}" />
        
        <!-- 条件判断 -->
        <c:if test="${not empty param.xx}">
            <p>xx参数存在,值是:${param.xx}</p>
        </c:if>
        
        <!-- 多值参数(如?xx=1&xx=2)获取第一个值 -->
        <p>第一个值:${paramValues.xx[0]}</p>
        <p>第二个值:${paramValues.xx[1]}</p>

        <%
            // 获取单个参数值
            String xxValue = request.getParameter("xx");
            
            // 获取多值参数
            String[] xxValues = request.getParameterValues("xx");
        %>
        
        <!-- 使用获取到的值 -->
        <p>参数xx的值是:<%= xxValue %></p>
        
        <% if (xxValues != null && xxValues.length > 1) { %>
            <p>所有值:</p>
            <ul>
            <% for (String value : xxValues) { %>
                <li><%= value %></li>
            <% } %>
            </ul>
        <% } %>

        <%@ page contentType="text/html;charset=UTF-8" language="java" %>
        <html>
        <head>
            <title>获取URL参数示例</title>
        </head>
        <body>
            <h1>URL参数获取演示</h1>
            
            <!-- 方式1:EL表达式 -->
            <div>
                <h2>使用EL表达式:</h2>
                <p>参数xx的值:<strong>${param.xx}</strong></p>
                <p>参数yy的值:<strong>${param.yy}</strong></p>
                
                <!-- 处理可能不存在的参数 -->
                <c:choose>
                    <c:when test="${not empty param.xx}">
                        <p>xx参数存在,值是:${param.xx}</p>
                    </c:when>
                    <c:otherwise>
                        <p>xx参数不存在</p>
                    </c:otherwise>
                </c:choose>
            </div>
            
            <!-- 方式2:JSP脚本 -->
            <div>
                <h2>使用JSP脚本:</h2>
                <%
                    String xx = request.getParameter("xx");
                    String yy = request.getParameter("yy");
                    
                    if (xx != null && !xx.trim().isEmpty()) {
                %>
                    <p>参数xx的值:<strong><%= xx %></strong></p>
                <%
                    } else {
                %>
                    <p>xx参数不存在或为空</p>
                <%
                    }
                %>
            </div>
            
            <!-- 实际应用:搜索功能 -->
            <%
                String keyword = request.getParameter("keyword");
                if (keyword != null) {
            %>
                <h3>搜索结果显示:</h3>
                <p>您搜索的关键词是:<em><%= keyword %></em></p>
                <!-- 这里可以显示搜索结果 -->
            <%
                }
            %>
        </body>
        </html>

        <!-- 访问URL:search.jsp?keyword=java&category=books -->
        <%
            String keyword = request.getParameter("keyword");
            String category = request.getParameter("category");
            
            // 执行搜索逻辑...
        %>
        <h2>搜索结果</h2>
        <p>关键词:${param.keyword}</p>
        <p>分类:${param.category}</p>

        <!-- 访问URL:list.jsp?page=2&size=20 -->
        <%
            int page = Integer.parseInt(request.getParameter("page") != null ? 
                        request.getParameter("page") : "1");
            int size = Integer.parseInt(request.getParameter("size") != null ? 
                        request.getParameter("size") : "10");
            
            // 分页查询逻辑...
        %>
        <p>当前第 ${param.page} 页,每页 ${param.size} 条</p>

        <!-- 优雅地处理可能为空的参数 -->
        <c:set var="pageNum" value="${not empty param.page ? param.page : 1}" />
        <c:set var="pageSize" value="${not empty param.size ? param.size : 10}" />
        
        <p>当前页码:${pageNum}</p>
        <p>每页大小:${pageSize}</p>

        空值处理:总是要考虑参数可能不存在的情况

        编码问题:中文参数可能需要处理URL编码

        <!-- 处理中文参数 -->
        <%
            String keyword = request.getParameter("keyword");
            if (keyword != null) {
                keyword = new String(keyword.getBytes("ISO-8859-1"), "UTF-8");
            }
        %>

        安全性:对用户输入的参数进行验证和转义,防止XSS攻击

        <!-- 使用JSTL函数转义HTML -->
        <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
        <p>安全显示:${fn:escapeXml(param.userInput)}</p>

        • 推荐使用EL表达式${param.参数名},简洁安全
        • 多值参数:使用${paramValues.参数名[索引]}request.getParameterValues()
        • 一定要处理空值情况,避免NullPointerException
        • 考虑安全性,对用户输入进行转义

        EL表达式是现代JSP开发的首选,代码更简洁,可读性更好。

        到此这篇关于jsp中获取url参数的方法与应用场景详解的文章就介绍到这了,更多相关jsp获取url参数内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

        您可能感兴趣的文章:

        • JSP struts2 url传参中文乱码解决办法
        • jsp中获得路径的两种方法和获得url路径的方法(推荐)
        • jsp获取url路径的方法分析
        • JSP对URL链接中的中文乱码处理方法总结
        • jsp中URL传递中文参数的处理方法
        • 在jsp页面如何获得url参数

        站内搜索