java - 是否可以将类对象作为隐藏变量从 JSP 传输到操作

标签 java jsp struts-1

我使用 Struts 1.x 作为我的框架,

这里我遇到的情况是我需要将自定义类对象作为隐藏变量传递,就像我想做如下的事情

  <html:form name="FormName">
   <html:hidden property="ClassObject" value="<%=new MyClass() %>" >
  </html:form>

我在 FormName 表单中为 ClassObject 创建了 getter 和 setter,如下所示。

     private MyClassObject ClassObject; 

     public MyClassObject getClassObject()
       {
             return ClassObject;
              }
      //setter also I have created

因此,在我的操作类中,我尝试获取如下所示的 ClassObject

      MyClassObject obj = ((FormName) form).getClassObject();

但是当我这样做时,我收到错误 Unable to crate class for JSP at line

      `<html:hidden property="ClassObject" value="<%=new MyClass() %>" >`

我的疑问是:如果可以的话,是否有可能卡鲁这样的物体,我在哪里弄错了?

         If not What is the best way to pass Object from JSP to action ? 

提前致谢。

最佳答案

不,因为您从客户端发送的任何内容都只是 html,而不是任何对象。请求仅具有一组字符串,例如(标题、查询字符串和正文等)。

要将人类对象从客户端传递到服务器端,您可以使用 JSON。否则请使用 session 。

JSON:

Class Human
{
private int id;
privae String name;
// other attributes etc
}

[{id:"",name:""}]——这是字符串,但您可以使用 JSON 相关的 API 来引入它。

P.S:JSON 相关想法来自 Scary。

关于java - 是否可以将类对象作为隐藏变量从 JSP 传输到操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24816238/

相关文章:

java - 你在 POJO 中编写 Hibernate 代码吗?

java - 如何解码字符串?

java - 如何读取 Amazon S3 中的文件内容

java.io.IOException : Cannot run program ".\bin\catalina.bat" - CreateProcess error=2, 系统找不到指定的文件

java - android 标签布局错误

java - ProcessBuilder 的问题

javascript - 在 iframe 中调用 jsp 页面

forms - 这是 session 范围或请求范围内的 struts 1.x 表单 bean 吗?

Java 小服务程序 : issue with multipart/form-data form

java - 集成 Struts Core 1.3.10 后 - 本地主机上的 Tomcat 8.0.21 服务器无法启动