在JSP中编写URL

可以说我当前的URL是: /app.jsp?filter=10&sort=name = 10& /app.jsp?filter=10&sort=name

我在JSP中有一个分页组件,其中应包含以下链接:
/app.jsp?filter=10&sort=name&page=xxx

如何通过向当前URL添加新参数在JSP中创建有效的URL? 我不想在JSP中使用Java代码,也不想使用以下URL:
/app.jsp?filter=10&sort=name&?&page=xxx ,或/app.jsp?&page=xxx等。

好的,我找到了答案。 第一个问题是我必须保留URL中的所有当前参数并仅更改page参数。 为此,我必须遍历所有当前参数并添加我不想更改为URL的参数。 然后我添加了我想要更改或添加的参数。 所以我最终得到了这样的解决方案:

         

这将在请求中创建与page参数无关的漂亮且干净的URL。 这种方法的好处是URL可以是任何东西。

     

要显示url,您可以执行此类操作

 Your URL Text 

要根据当前URL构造新URL,首先需要request对象获取当前URL 。 要在JSP中访问request对象,请使用JSP表达式语言定义的pageContext 隐式对象

 ${pageContext.request.requestURL} 

以下是在JSP页面中构造URL的简单示例:

test.jsp的

 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>    Test Page    

Testing URL construction

Go to page xxx Go to page xxx

此解决方案允许您根据当前URL是否已包含某些查询字符串来构造URL。 所以你们分别追加了

?${pageContext.request.queryString}&page=xxx

要不就

?page=xxx

到当前的URL。

JSTL和表达式语言用于实现对查询字符串的检查。 我们使用getRequestURL()方法获取当前的URL。