gpt4 book ai didi

java - 将对象从 JSP 传递到 Struts 1.3 中的操作类

转载 作者:行者123 更新时间:2023-11-30 11:29:08 25 4
gpt4 key购买 nike

我想将一个对象从 JSP 传递到一个 Action 类。怎么做?我对此一无所知。我的一些示例代码在这里:

<tr class="alt">
<td><html:link href=""><bean:write name="EmpInfo" property="empId" /></html:link></td>
<td><bean:write name="EmpInfo" property="empName" /></td>
<td><bean:write name="EmpInfo" property="empAddress" /></td>
<td><bean:write name="EmpInfo" property="empPhNumber" /></td>
<td><bean:write name="EmpInfo" property="empEmailId" /></td>
<td><bean:write name="EmpInfo" property="empLocName" /></td>
<td><bean:write name="EmpInfo" property="empCountryName" /></td>
<td><bean:write name="EmpInfo" property="empDob" /></td>
<td><html:link href=""><bean:message key="view.single.emp.update"/></html:link></td>
</tr>

在上面的代码中<html:link href="">标签我想通过 empId或对象 EmpInfo到 Action 类。这是 EmpInfo是值对象,它包含所有的 getter 和 setter。

最佳答案

Struts的控制流程是这样的:

  1. 出现一个 HttpRequest
  2. ActionServlet 接收它,填充适当的 ActionForm,并将控制权传递给 Action
  3. Action 执行逻辑,并转发或重定向到 ActionForward

因此,如果您转发到 JSP,那么您不会将控制权再次直接传递给另一个操作,而是在发送来自用户浏览器的新请求后调用下一个操作。

因此传递对象的唯一方法是将其属性作为请求参数传递(首选 GET 或 POST)。

顺便说一句,使用 Struts 1.2+ 时,您不会被迫在 ActionForm 中只有 String 字段。让您的对象在操作形式中使用 Java Beans 约定引用它:

class MyActionForm extends ActionForm {
private MyBean myBean;

public MyBean getMyBean() {
if (myBean == null) {
myBean = new MyBean();
}
return myBean;
}
}

现在您可以在 JSP 标记中使用 myBean.property1 访问它的属性,并且名称为 myBean.property1 的请求参数将填充到属性中。

Struts 1.2+ 在内部使用 Apache Commons BeanUtils,因此您可以将其转换器用于复杂类型。

关于java - 将对象从 JSP 传递到 Struts 1.3 中的操作类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18559462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com