Java 隐藏要在URL中显示的查询字符串:URL重写

Java 隐藏要在URL中显示的查询字符串:URL重写,java,javascript,struts2,url-rewriting,query-string,Java,Javascript,Struts2,Url Rewriting,Query String,我正在调用一个JS函数,通过单击按钮打开一个新窗口 function showReport(){ window.open("reports.action?repType=RPDRep&selectedProjects=${projectSelect}"); } projectSelect从调用页的Action类中获取的值 它使用这些值调用另一个操作并生成预期结果 它工作得很好,但唯一的问题是我的值在URL中像这样暴露 http://localhost:9080/xyz/reports.

我正在调用一个JS函数,通过单击按钮打开一个新窗口

function showReport(){
window.open("reports.action?repType=RPDRep&selectedProjects=${projectSelect}");
}
projectSelect从调用页的Action类中获取的值

它使用这些值调用另一个操作并生成预期结果

它工作得很好,但唯一的问题是我的值在URL中像这样暴露

http://localhost:9080/xyz/reports.action?repType=RPDRep&selectedProjects=DE-06-00273

如果有任何方法可以将URL转换为有意义的内容而不向用户显示输入详细信息,请告诉我。谢谢

您可以更改窗口位置,如下所示:

function showReport(){ var w1 =window.open("reports.action?repType=RPDRep&selectedProjects=${projectSelect}"); w1.location.href='http://www.yourLocation.com'; }

BR/Dan

在发送数据转换为post之前,请尝试此操作

    function showReport(){
      $.post("reports.action", {repType : "RPDRep" ,selectedProjects :"+ ${projectSelect}+" }, function(data){
        var post_window = window.open();
        $(post_window.document.body).append(data);
      });
     }

对于将要打开的页面,我没有提到任何绝对位置,它是一个基于在Action类上完成的少量业务逻辑的动态页面。我在搜索可以隐藏查询字符串的东西,比如表单操作方法中的POST方法