【问题标题】:What is the best way to remove parameters in the url like '?'删除 url 中的参数(如“?”)的最佳方法是什么?
【发布时间】:2015-07-13 18:07:14
【问题描述】:

我正在开发 J2ee 的 web 项目。 当我运行我的项目时,我得到了这个链接 链接:- blog1_1/title?uname=55 但我想更改网址以使其看起来更整洁。

我想让它看起来像 - 链接:- blog1_1/title55

已尝试使用表单 POST 操作进行更改 但这不起作用

这是代码 -

<form id="myform<%=uid1%>" method="POST" action="title?<%=uid1%> >    
                    <% out.println(uid1); %>
                    <input type="hidden" name="uname" value="<%=uid1%>" /> 

 <a     onclick="document.getElementById('myform<%=uid1%>').submit();
     return     false;"></a>
               </form>    

但是当我运行这段代码时,我得到的只是

此链接:-blog1_1/title?55

你能告诉我我应该如何删除“?”来自 url 的参数。

我需要去掉'?'

【问题讨论】:

  • 您是否考虑过使用 apache 规则来实现这一目标?
  • 那个?表示请求参数的开始。请注意,这不仅仅是表面上的改变。
  • action="title? - 删除 ? 并使其成为 action="title

标签: java jsp jakarta-ee url-rewriting


【解决方案1】:

为什么要将所有参数添加到操作属性。当您已经提交表单时,请求对象将包含您可以在 servlet/控制器中访问的所有内容

让你的代码像:

<form id="myform<%=uid1%>" method="POST" action="title"/>
<% out.println(uid1); %>
<input type="hidden" name="uname" value="<%=uid1%>" /> 

在你的控制器/servlet中你可以使用

String uname = (String)request.getParameter("uname")

【讨论】:

    【解决方案2】:

    称为查询参数的Mehandi Hassan,您不能删除吗?从您的网址。 我们可以通过两种方式将输入传递给我们的方法

    • 在 GET 方法的情况下使用查询参数
    • 在 POST 的情况下使用正文内容

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2010-09-09
      • 2011-10-03
      • 2015-06-05
      相关资源
      最近更新 更多