Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 隐藏从jsp传递到struts2操作类的参数 价值1 行动起来_Java_Jquery_Jsp_Struts2_Parameter Passing - Fatal编程技术网

Java 隐藏从jsp传递到struts2操作类的参数 价值1 行动起来

Java 隐藏从jsp传递到struts2操作类的参数 价值1 行动起来,java,jquery,jsp,struts2,parameter-passing,Java,Jquery,Jsp,Struts2,Parameter Passing,单击Go Action链接,地址将为www.example.com/someAction?param1=value1 我想在提交表单时隐藏传递的参数(param1=value1),比如method=“POST”。还有什么我能做的吗?谢谢。不,URL是GET请求。如果你想发帖,你可以用一张表格做一个发帖请求。如果您想要一个按钮或链接来执行post请求,最好使用JS/jQuery隐藏表单,并将按钮/链接单击事件绑定到提交表单上 Struts2无法控制客户端,只有HTML、CSS和JS 如JB Niz

单击Go Action链接,地址将为
www.example.com/someAction?param1=value1

我想在提交表单时隐藏传递的参数(param1=value1),比如method=“POST”。还有什么我能做的吗?谢谢。

不,URL是GET请求。如果你想发帖,你可以用一张表格做一个发帖请求。如果您想要一个按钮或链接来执行post请求,最好使用JS/jQuery隐藏表单,并将按钮/链接单击事件绑定到提交表单上

Struts2无法控制客户端,只有HTML、CSS和JS

如JB Nizet所述,如果是关于保护您的信息,请参阅此处的讨论:

在get请求中发送大多数数据(除了密码!)没有什么问题,因为如果是表单,人们可以很容易地看到表单的内容,而在url中查看参数肯定会比较困难


从服务器安全的角度来看,您应该始终假定客户机能够并且将能够发送最坏的数据。这就是为什么struts2中的验证框架如此易于使用,并且与原始web编程系统不同,类型转换是一个巨大的帮助。如果您有一个int属性,并在查询中使用它,您知道它将是int而不是字符串。如果需要字符串,最好使用枚举来确保允许该值。

要隐藏传递的参数,实际上需要提交表单。您应该防止click事件的默认行为,并将其替换为form事件。像这个例子中那样做

<s:url action="someAction" var="act">
<s:param name="param1">value1</s:param>
</s:url>
<s:a href="%{act}">Go Action</s:a>

行动起来
$(文档).ready(函数(){
$(“#a1”)。单击(函数(事件){
event.preventDefault();
$(“#f1”).submit();
});
});

如果您想获得一份工作,则不需要。但是为什么要隐藏参数值呢?如果是出于安全原因,那么这不是一个有效的理由。任何能在浏览器中按F12键的人都能找到传递的参数,即使是通过POST。
<s:form id="f1" action="someAction">
  <s:hidden name="param1" value="value1"/>
  <s:url action="someAction" var="act"/>
  <s:a id="a1" href="%{act}">Go Action</s:a>
  <script type="text/javascript">
    $(document).ready(function() {
      $("#a1").click(function(event) {
        event.preventDefault();
        $("#f1").submit();
      });
    });
  </script>
</s:form>