我正在尝试编辑 sjg:grid 单元格中的单元格,完成后它应该调用 editControlParam URL ,而是调用表 URL ,重新加载表,我的 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;
}
必须为维护遗留代码的组织工作,这就是你所面临的
关于java - 如何使用单元格编辑从 sjg 网格调用 struts 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40151870/