Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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 使用jquery在jsp页面中接受http会话请求参数_Java_Jquery_Jsp - Fatal编程技术网

Java 使用jquery在jsp页面中接受http会话请求参数

Java 使用jquery在jsp页面中接受http会话请求参数,java,jquery,jsp,Java,Jquery,Jsp,我在使用struts的web应用程序中工作。我在struts操作类中执行一些操作,并使用session.setAttribute设置结果值。我的struts操作类将结果发送到显示结果的jsp页面。我必须在加载jsp页面后显示消息,因此我尝试使用jquery。但我不知道如何在jquery中处理http sesion请求 <script type="text/javascript"> $(document).ready(function()

我在使用struts的web应用程序中工作。我在struts操作类中执行一些操作,并使用session.setAttribute设置结果值。我的struts操作类将结果发送到显示结果的jsp页面。我必须在加载jsp页面后显示消息,因此我尝试使用jquery。但我不知道如何在jquery中处理http sesion请求

    <script type="text/javascript">
        $(document).ready(function() 
          { 
              alert("some text");
             $("#id_propname").val("");    
        });            
    </script> 
早些时候,我在sturts-config.xml中获取了一个属性,并设置该值,而不是发送http会话请求参数。但它对我不起作用,因为每次我刷新页面时,它都从struts-config.xml获取初始值。我将struts属性作为jsp页面中的隐藏字段,方法是:

     <html:hidden property="propname" styleId="id_propname" name="formname" />

为了设置属性值null,我在jquery中编写了以下代码

    <script type="text/javascript">
        $(document).ready(function() 
          { 
              alert("some text");
             $("#id_propname").val("");    
        });            
    </script> 

$(文档).ready(函数()
{ 
警报(“某些文本”);
$(“#id_propname”).val(“”);
});            

有没有办法直接在jquery中获取http会话请求?如果您能提供一些建议,请回复我。我感谢所有有价值的建议。

我知道没有简单的方法可以将您的会话传递给jquery。您可以做的是设置某个隐藏字段的值,并在脚本上声明一个全局变量,访问该值并检查有效条件(如果有)

尽管在jsp中使用scriptlet很难看,而且非常不鼓励,但这可能会奏效:-

<% String sessionVal = session.getAttribute("yourSessionValue").toString() %> 
<html type="hidden" id="id_propname" name="propname" value=<%=sessionVal> >

在jquery中:

 <script type="text/javascript">
    var sessionVal;
    $(document).ready(function() 
      { 
          sessionVal =  $("#id_propname").val();
          alert("this is the session value at Script " + sessionVal );

    });            
</script> 

var sessionVal;
$(文档).ready(函数()
{ 
sessionVal=$(“#id_propname”).val();
警报(“这是脚本“+sessionVal”处的会话值);
});            
未完成会话的空检查

如果您使用的是标记库,那么可以在表单bean上设置会话值,并在jsp中使用如下内容:-

<logic:equal name="yourFormBean" property="yourProperty" value="someDefinedValue">
 Do your action here         
</logic:equal> <br />

你在这里做什么


那么,http会话和请求以java对象的形式存在于服务器端,并与servlet相关。另一方面,JQuery将“正常”生活在客户端。。。因此,您的问题描述有点“错误”

您在httpsession或/和httprequest中“发送”的参数是用于jsp生成的,jQuery不起任何作用。然后发送到浏览器的是jsp引擎生成的HTML。jQuery可以使用浏览器中的HTML

顺便说一下,框架名称是Struts而不是Sturts


考虑到这些信息,我真的不明白您实际上想要做什么。

jQuery在文档准备就绪后执行,无法访问http头。如果jQuery发出http请求(例如使用$ajax()),它可以访问http头。请参阅,感谢您的宝贵建议。我在将FormBean属性设置为null或其初始值时遇到了另一个问题。是否有任何方法可以重置jquery块中的formbean属性。