我正在使用Struts2 Web应用程序,当前正在遇到表单绑定问题。从jsp到action类的绑定不起作用。
场景是我正在从上一个操作中设置一个列表。在当前的jsp中,我遍历该列表并在jsp中的表中打印值。由于需要,我应该使这些字段可编辑,以便用户可以编辑显示的值并将更新的值提交到下一个动作。
问题是我从jsp编辑的值未绑定到动作类中的列表。我已经尝试了多种方法,但是到目前为止还没有运气。以下是我尝试过的方法。
我尝试值的第一种方法不受约束:
<s:iterator value="list1" var="sVO" status="rowStatus">
<tr onclick="SelIndex('<s:property value="itm_id"/>');">
<td><s:property value="itm_id"/></td>
<td><s:date name="proc_d" format="MM/dd/YYYY"/></td>
<td><span style="display:none;"><s:property value="pln_n_n"/></span><input type="text" size = "8" value="<s:property value="pln_n_n"/>"/></td>
<td><span style="display:none;"><s:date name="trd_d" format="MM/dd/YYYY"/></span><input type="text" size = "8" class="dateFilter" value="<s:date name="trd_d" format="MM/dd/YYYY"/>"/></td>
<td><s:select theme="simple" name="list1[%{rowStatus.index}].vari_ty" id="tranType" list="liTTypes" headerKey="None" value="vari_ty" listKey="key1" listValue="value1" /></td>
<td><span style="display:none;"><s:property value="description"/></span><input type="text" size = "8" value="<s:property value="description"/>"/></td>
<td><s:property value="getText('format.money',{quantity})"/></td>
<td><span style="display:none;"><s:property value="getText('format.money',{price})"/></span><input type="text" size = "10" value="<s:property value="getText('format.money',{price})"/>"/></td>
</tr>
</s:iterator
我尝试值不受约束的第二种方法:
<s:iterator value="list1" var="sVO" status="rowStatus">
<tr onclick="SelIndex('<s:property value="itm_id"/>');">
<td><s:property value="itm_id"/></td>
<td><s:date name="proc_d" format="MM/dd/YYYY"/></td>
<td><span style="display:none;"><s:property value="pln_n_n"/></span>
<input type="text" name="list1[%{#rowStatus.index}].pln_n_n" value="<s:property value="pln_n_n"/>"/></td>
<td><span style="display:none;"><s:date name="trd_d" format="MM/dd/YYYY"/></span>
<input type="text" size = "8" name="list1[%{#rowStatus.index}].trd_d" class="dateFilter" value="<s:date name="trd_d" format="MM/dd/YYYY"/>"/></td>
<td><s:select theme="simple" name="list1[%{rowStatus.index}].vari_ty" id="tranType" list="liTTypes" headerKey="None" value="vari_ty" listKey="key1" listValue="value1" /></td>
<td><span style="display:none;"><s:property value="description"/></span>
<input type="text" name="list1[%{#rowStatus.index}].description" size = "8" value="<s:property value="description"/>"/></td>
<td><s:property value="getText('format.money',{quantity})"/></td>
<td><span style="display:none;"><s:property value="getText('format.money',{price})"/></span>
<input type="text" name="list1[%{#rowStatus.index}].price" size = "10" value="<s:property value="getText('format.money',{price})"/>"/></td>
</tr>
</s:iterator>
以下是我的动作课
public class testAction extends BaseAction
{
private List<ProcessVO> list1 = null;
// getters and setters for list1
public String ListPage() throws AppException
{
String strReturn = "SUCCESS";
// This the method from which the list1 is populated }
public String ListPageSave() throws AppException
{
String strReturn = "SUCCESS";
// This the method where i need the updated values from list1
// values are not getting bound when this method is called from the page which is having Iterator tag,
}
}
BaseAction:
public class BaseAction extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware, ServletContextAware {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* HTTP Request object.
} ProcessVO
包含属性以及每个属性的获取器和设置器。
谁能告诉我这里是什么问题。我正在使用需要更新的相同list1对象。任何帮助对我来说都是非常有用的,因为我一直困扰着这个问题。
<input type = "text" name = "list1[%{#rowStatus.index}].pln_n_n" value = "<s:property value="pln_n_n"/>"/>
如果您使用HTML标记,OGNL将无法在其中使用。
您需要使用<s:property/>
以下任一方法:
<input type = "text"
name = "list1[<s:property value="%{#rowStatus.index}"/>].pln_n_n"
value = "<s:property value="pln_n_n"/>"/>
或使用Struts2标签(OGNL在其中工作):
<s:textfield name = "list1[%{#rowStatus.index}].pln_n_n"
value = "pln_n_n" />
旁注:
value
如果与 没什么 不同name
,则不需要"SUCCESS"
违反约定,应该"success"
(由SUCCESS
常量映射)问题内容: 我正在 struts2 应用程序上工作,在该应用程序中我正在使用 displaytag 进行分页支持。 现在我要为表格中的每一行选择一个复选框,以便执行此操作。 到这里为止一切正常。现在我想删除通过复选框选中的所有国家。 为此,我要检查的国家/地区的ID。为此,我必须采用数组中的值。 问题是如何从jsp发送值,然后在action类中获取它 问题答案: 如果将String []添加到名称
问题内容: 我在另一个问题中找到了一种创建JButton的好方法,该JButton的操作可以 通过简单的方式编写和查看: 此方法所在的类实现ActionListener,并且按钮命令由以下方式分配: And the buttons are made by: 所以我的问题是:可以通过这种方法将KeyStrokes添加到按钮吗?我尝试过这样的事情(在方法内部): 但是我认为这是行不通的,因为actio
我正在使用Struts 2框架,我想将对象列表从Java传输到JSP,然后再传输回Java。转移到JSP工作正常与
本文向大家介绍vue中v-model对select的绑定操作,包括了vue中v-model对select的绑定操作的使用技巧和注意事项,需要的朋友参考一下 1、单选时 如果 v-model表达式的value初始值未能匹配任何选项,<select> 元素将被渲染为“未选中”状态。在 iOS 中,这会使用户无法选择第一个选项。因为这样的情况下,iOS 不会触发 change 事件。因此,更推荐像上面这
我有2页在这里,在第一页我接受输入,然后通过验证输入数据使用java类用户显示在秒页。 输入表格 展示形式 JAVA用户类 当我提交表单参数消息值从未更新时,它总是向我显示消息“name cannot be null”不确定我在这里做错了什么,请帮我弄清楚。
问题内容: 我为我的一个struts2映射文件成功地使用了重定向操作,如下所示: 这是我想要做的: 换句话说,我希望传递的参数名称是动态的。有人知道这是否可能吗? 问题答案: 实际上,这是行不通的。但是,我能够做到以下几点: 我只是以为那是行不通的。
介绍:JAVA Web应用程序中包含的Servlet。有一些值用于所有servlet,而另一些值仅与指定的servlet相关。因此,使用一个输入表单(JSP),然后它将这些值/表单输入发布到另一个“新”JSP。从这个JSP中,以前的表单(JSP)中的值应该被发布到一个servlet(-有时,会加入新表单中的附加值) 使用一个简单的HTML表单,将JSP中的值成功地发布到另一个JSP中。 问题:比如
我正在检索数据库值并将其放入数组列表(al)。该数组列表以表的形式显示在JSP页面中。我想修改JSP页面中的值,并使用Struts2更新数据库中的新值。我该怎么做? 主要行动类 这是POJO班 这是显示数组列表的JSP页面