【问题标题】:Passing java objects from jsp page to servlet through html forms通过html表单将java对象从jsp页面传递给servlet
【发布时间】:2015-02-07 05:05:36
【问题描述】:

我有一个场景,我通过 jsp 传递对象列表,它的属性(名称)之一显示在下拉菜单中,现在我只想将该对象再次传递给选定的 servlet提交表单时在下拉菜单中。

最好的方法是什么?与表单一样,所有内容都作为字符串传递,而获取(通过请求参数)仅作为字符串传递?

我知道我可以传递名称,然后在 servlet 中我可以在对象列表中检查该名称。但是必须有一些替代解决方案,我正在寻找那个

【问题讨论】:

    标签: java forms jsp http servlets


    【解决方案1】:

    以下是替代方案:

    • 将值转换为字符串并将它们嵌入到发送到用户浏览器的 HTML 等中。当用户“提交”时,将字符串作为请求参数发送回 Web 服务器,servlet 可以将字符串转换回值。

    • 将值放入请求的 Session 对象中,然后让 servlet 找出它们。

    • 通过 set-cookie 将值传递给浏览器,然后让 servlet 从请求中提取 cookie 值。

    其中,Session 方法是最安全的。如果您将这些值放入 cookie 或网络表单中,那么它们可以被用户读取并(可能)更改。

    我猜你可以传递一个“名字”......但你正在做的是重新发明Session对象的轮子。

    【讨论】:

    • 我不能使用会话或 cookie,因为在提交表单之前我不知道在下拉列表中选择了哪个对象,因为我只需要动作 servlet 中的那个对象,所以我表单提交前和表单提交后都不能使用会话,我没有对象,所以没有使用会话的意义。
    • 是的,值可以作为字符串传递,但是我必须传递所选对象的多个值。如何从所选对象传递多个值?
    • 您没有说用户需要选择其中一个对象。但这不是问题。将键值对存储在 Session 中,并将键放入选择器中。
    • 谢谢,这似乎是唯一可行的解​​决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2011-05-14
    • 2011-06-07
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多