GVKun编程网logo

JSP-如何在session.setAttribute中传递JavaScript变量?[重复](jsp用session传值)

22

针对JSP-如何在session.setAttribute中传递JavaScript变量?[重复]和jsp用session传值这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展3.11、@Se

针对JSP-如何在session.setAttribute中传递JavaScript变量?[重复]jsp用session传值这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展3.11、@SessionAttribute 和 @RequestAttribute、Javascript / JSP:如何将一页上的JSP变量值传递给下一页上的javascript变量?、JavaScript dom中的attributes [0]和attributes.item(0)有什么区别?、Javascript setAttribute Vs jquery多个属性setter等相关知识,希望可以帮助到你。

本文目录一览:

JSP-如何在session.setAttribute中传递JavaScript变量?[重复](jsp用session传值)

JSP-如何在session.setAttribute中传递JavaScript变量?[重复](jsp用session传值)

是学习JSP的新手,它尝试在两个页面之间传递数据。

我想知道是否可以将javascript变量传递给 session.setAttribute()

目前,我可以通过2个jsp文件传递文本字符串,如下所示:

JSP1:

<% String text = "hello";session.setAttribute("test", text);%>

JSP2:

var someText = "<%=session.getAttribute("test")%>"

效果很好。

然而,是否有可能通过一个var进入session.setAttribute呢?我将一些数据存储在javascript变量中,并希望将其发送到第二个JSP文件。

因此,例如:

var number = 7;<%session.setAttribute("test", number);%>

我已经尝试过了,但出现错误“数字无法解析为变量”

谢谢!

答案1

小编典典

您无法执行此操作,因为javascript在客户端执行,而JSP在服务器端执行。

如果要将javascript变量设置为JSP会话,则可以通过如下所示通过URL传递此变量

var number = 7;window.location="http://example.com/index.jsp?param="+number;

现在像这样在您的JSP页面中接收此var

String var = request.getParameter("param");

现在在会话中进行设置

session.setAttribute("test", var);

编辑:

var number = 7;<%session.setAttribute("test", number);%>

在上面的代码中,服务器将仅在<%%>内部执行代码。它不知道JSP标记之外的任何内容。因此,它也不知道您的javascript变量number

服务器执行该代码,结果将发送到浏览器,然后您的浏览器将执行该javascript代码var number=7;

希望,现在对您来说很清楚。

3.11、@SessionAttribute 和 @RequestAttribute

3.11、@SessionAttribute 和 @RequestAttribute

  本篇示例见这个项目的 mvc 分支下的 SesAndReqAttrController.java


① 使用@SessionAttribute来访问预先存在的全局会话属性

  如果你需要访问预先存在的、以全局方式管理的会话属性的话,比如在控制器之外(比如通过过滤器)可能或不可能存在在一个方法参数上使用注解@SessionAttribute

    /**
     * 在处理请求 /helloWorld/jump 的时候,会在会话中添加一个 sessionStr 属性。
     * <p/>
     * 这里可以通过@SessionAttribute 获取到
     */
    @RequestMapping("/sesAttr")
    public String handleSessionAttr(@SessionAttribute(value = "sessionStr") String sessionStr, Model model)
    {
        System.out.println("--> sessionStr : " + sessionStr);
        model.addAttribute("sth", sessionStr);
        return "/examples/targets/test1";
    }

  为了使用这些需要添加或移除会话属性的情况,考虑注入org.springframework.web.context.request.WebRequestjavax.servlet.http.HttpSession到一个控制器方法中。

  对于暂存在会话中的用作控制器工作流一部分的模型属性,要像“使用 @SessionAttributes 存储模型属性到请求共享的HTTP会话”一节中描述的那样使用SessionAttributes。

② 使用@RequestAttribute访问请求属性

  就像@SessionAttribute一样,注解@RequestAttribute可以被用于访问由过滤器或拦截器创建的、预先存在的请求属性:

    @RequestMapping("/reqAttr")
    public String handle(@RequestAttribute("reqStr") String str, Model model)
    {
        System.out.println("--> reqStr : " + str);
        model.addAttribute("sth", str);
        return "/examples/targets/test1";
    }

  可以使用下面的过滤器进行测试:

@WebFilter(filterName = "myFilter", description = "测试过滤器", urlPatterns = { "/*" })
public class MyFilter implements Filter
{
    
    @Override
    public void init(FilterConfig filterConfig) throws ServletException
    {}
    
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
    {
        System.out.println("--> MyFilter Do.");
        request.setAttribute("reqStr", "万万没想到,啦啦啦啦啦!");
        
        chain.doFilter(request, response);
        
    }
    
    @Override
    public void destroy()
    {}
    
}

Javascript / JSP:如何将一页上的JSP变量值传递给下一页上的javascript变量?

Javascript / JSP:如何将一页上的JSP变量值传递给下一页上的javascript变量?

目前,我正在尝试将JSP值发送给javascript。可能吗?我的情况如下:

在页面abc.jsp上,用户以表格形式输入数据。该信息将在下一页xyz.jsp中发送。我想在xyz.jsp页面javascript中使用此数据。可能吗?是的,该怎么做?

还想知道,如果我自动刷新此页面(或页面的一部分),即xyz.jsp,那么有可能在没有JavaScript失败或崩溃的情况下进行吗?

谢谢。

JavaScript dom中的attributes [0]和attributes.item(0)有什么区别?

JavaScript dom中的attributes [0]和attributes.item(0)有什么区别?

item是方法调用外,没有其他人。结果是相同的,除了element.attributes[0]会为您提供undefined的不存在的属性,而element.item(0)会给您null

const ex = document.querySelector("span");
console.log(ex.attributes[0]);
console.log(ex.attributes.item(0));
<span>x</span>

,

它们是可互换的。数组表示法是一种语法糖,可能有点误导,因为element.attributes不是Array,而是NodeList,因此通常的数组方法对此无效。我认为,他们之间的选择取决于个人喜好。

Javascript setAttribute Vs jquery多个属性setter

Javascript setAttribute Vs jquery多个属性setter

我想为多个元素设置这么多属性.与jquery相比,Javascript总能提供更好的性能.

我想知道哪个通过jquery和javascript解决多个属性时提供了更好的性能.

Jquery多属性设置器:

$(element).attr({'id': 'id1', 'index':1, 'value':10,'check':'checked'});

使用javascript setAttribute:

element.setAttribute('id','id1');
element.setAttribute('index','1');
..................................

当我使用JavaScript时,我需要写多行.否则需要为此创建自定义功能.

有谁可以解释哪一个提供更好的表现?为什么?

谢谢,

湿婆

解决方法:

计算机的成本远低于程序员.

让我们说:

使用纯js将使代码运行1ms,程序员工作3小时.

使用jQuery将使代码运行2ms并且程序员工作1分钟

看到利润?

关于JSP-如何在session.setAttribute中传递JavaScript变量?[重复]jsp用session传值的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于3.11、@SessionAttribute 和 @RequestAttribute、Javascript / JSP:如何将一页上的JSP变量值传递给下一页上的javascript变量?、JavaScript dom中的attributes [0]和attributes.item(0)有什么区别?、Javascript setAttribute Vs jquery多个属性setter等相关内容,可以在本站寻找。

本文标签:

上一篇带有Python“请求”模块的代理(python内置的http请求库)

下一篇如何在Codenameone Android应用程序中更改状态栏的颜色?(code怎么改颜色)