我使用 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/