如何使用单元格编辑从 sjg 网格调用 struts 操作
how to invoke a struts action from sjg grid using a cell edit
我正在尝试编辑 sjg:grid 单元格中的一个单元格,完成后它应该调用 editControlParam URL ,而是调用 table URL ,重新加载table ,我的 jsp 标记
中有一个 sjg:grid
<s:url id="controlParameterTableURL" namespace="/global" action="loadControlParametersTable"/>
<s:url id="editParameterUrl" namespace="/global" action="editControlParameter"/>
<tr>
<td>
<sjg:grid id="controlparameterGrid" caption="%{getText('controlparametersearch.title')}" dataType="json" href="%{controlParameterTableURL}" pager="true"
gridModel="controlParameterList"
rowList="%{session.sessionAttr.pref.tableRowlist}"
rowNum="15"
rownumbers="true"
viewrecords="true"
cellEdit="true"
cellurl="%{editParameterUrl}"
onSelectRowTopics="rowselect" gridview="true"
onGridCompleteTopics="gridComplete" footerrow="true"
>
<sjg:gridColumn name="id" align='left' index="id" title='Id' hidden="true"/>
<sjg:gridColumn width="200" name="code" align='left' index="code" title='%{getText("controlparameteraction.controlparametercode")}' sortable="true"/>
<sjg:gridColumn width="200" name="name" align='left' index="nName" title='%{getText("controlparameteraction.controlparametername")}' sortable="true"/>
<sjg:gridColumn editrules="{required: true}" editable="true" width="200" name="value" align='left' index="name" title='%{getText("controlparameteraction.controlparametervalue")}' sortable="true"/>
<sjg:gridColumn width="200" name="status" cssStyle='text-align:right' hidden='true' index="status" title='%{getText("model.status")}'/>
</sjg:grid>
这在我的 struts xml
<action name="editControlParameter" method="editControlParameter" class="controlParameterAction">
<result name="success">/pages/global/globalbase.jsp?nextpath=/pages/global/&nextpage=controlparam
</result>
<result name="error">/pages/global/globalbase.jsp?nextpath=/pages/global/&nextpage=controlparam
</result>
</action>
请帮忙。
我终于通过在方法上添加@SkipValidation 解决了我的问题(来自struts2-core-x.x.x.jar)
@SkipValidation
public String editControlParameter() throws Exception{
ControlParameterData data = ((ControlParameterData) getData());
UserIdentificationToken userId = getUserIdentificationToken(getServletRequest());
ControlParameterData d = controlParameterService.findControlParameterByPK(data.getId(), userId);
d.setValue(data.getValue());
ControlParameterData createdData = controlParameterService.modifyControlParameter(d, userId);
setDataParameters(d, createdData);
return SUCCESS;
}
必须为维护遗留代码的组织工作,这就是您所面临的
我正在尝试编辑 sjg:grid 单元格中的一个单元格,完成后它应该调用 editControlParam URL ,而是调用 table URL ,重新加载table ,我的 jsp 标记
中有一个 sjg:grid <s:url id="controlParameterTableURL" namespace="/global" action="loadControlParametersTable"/>
<s:url id="editParameterUrl" namespace="/global" action="editControlParameter"/>
<tr>
<td>
<sjg:grid id="controlparameterGrid" caption="%{getText('controlparametersearch.title')}" dataType="json" href="%{controlParameterTableURL}" pager="true"
gridModel="controlParameterList"
rowList="%{session.sessionAttr.pref.tableRowlist}"
rowNum="15"
rownumbers="true"
viewrecords="true"
cellEdit="true"
cellurl="%{editParameterUrl}"
onSelectRowTopics="rowselect" gridview="true"
onGridCompleteTopics="gridComplete" footerrow="true"
>
<sjg:gridColumn name="id" align='left' index="id" title='Id' hidden="true"/>
<sjg:gridColumn width="200" name="code" align='left' index="code" title='%{getText("controlparameteraction.controlparametercode")}' sortable="true"/>
<sjg:gridColumn width="200" name="name" align='left' index="nName" title='%{getText("controlparameteraction.controlparametername")}' sortable="true"/>
<sjg:gridColumn editrules="{required: true}" editable="true" width="200" name="value" align='left' index="name" title='%{getText("controlparameteraction.controlparametervalue")}' sortable="true"/>
<sjg:gridColumn width="200" name="status" cssStyle='text-align:right' hidden='true' index="status" title='%{getText("model.status")}'/>
</sjg:grid>
这在我的 struts xml
<action name="editControlParameter" method="editControlParameter" class="controlParameterAction">
<result name="success">/pages/global/globalbase.jsp?nextpath=/pages/global/&nextpage=controlparam
</result>
<result name="error">/pages/global/globalbase.jsp?nextpath=/pages/global/&nextpage=controlparam
</result>
</action>
请帮忙。
我终于通过在方法上添加@SkipValidation 解决了我的问题(来自struts2-core-x.x.x.jar)
@SkipValidation
public String editControlParameter() throws Exception{
ControlParameterData data = ((ControlParameterData) getData());
UserIdentificationToken userId = getUserIdentificationToken(getServletRequest());
ControlParameterData d = controlParameterService.findControlParameterByPK(data.getId(), userId);
d.setValue(data.getValue());
ControlParameterData createdData = controlParameterService.modifyControlParameter(d, userId);
setDataParameters(d, createdData);
return SUCCESS;
}
必须为维护遗留代码的组织工作,这就是您所面临的