gpt4 book ai didi

jquery - @ModelAttribute 出现奇怪的逗号附加问题

转载 作者:行者123 更新时间:2023-12-01 06:12:10 25 4
gpt4 key购买 nike

平台:Spring 3.1.2、Tomcat 7.0.30

从 3.0 升级到 Spring 3.1 后出现此问题

我有一个正常的启用 Spring 的表单:

<c:url value='/healthcare/insurance/policy/save' var="url" />
<form:form commandName="insurancePolicy" action="${url }" method="POST" cssClass="form-horizontal">
<div class="module">
<div class="header">
<strong><spring:message code="insurance.policy.view.formbox" /> </strong>
</div>
<div class="module-content row-fluid">
<div class="span4">

<div class="control-group">
<label class="control-label"><spring:message code="insurance.policy.view.policyId" /></label>
<div class="controls">
<form:input path="policyId" cssClass="span10" readonly="true" />
</div>
</div>

<div class="control-group">
<label class="control-label"><spring:message code="insurance.policy.view.tpaId" /></label>
<div class="controls">
<form:select path="tpaId" items="${tpas }" itemLabel="tpaName" itemValue="tpaId" cssClass="span10" />
</div>
</div>

等等。

我提交的方式是:

function save(){
$("#insurancePolicy").submit();

}

我捕获的方式是通过位于抽象类中的 Controller ,如下所示:

public abstract class AbstractCrudViewController<T, PK extends Number, META extends T> extends AbstractViewController {

@SuppressWarnings("unchecked")
@RequestMapping(value="/save", method = RequestMethod.POST)
protected String save(@ModelAttribute T t, Model model, HttpServletRequest request){

logger.debug("Executing save for model: {}", t.toString());

try{

if (getPrimaryKeyValue(t) == null || ((Number) getPrimaryKeyValue(t)).intValue() <=0 ){
logger.debug("Creating new record");
PK pk = getCrudService().create(t);
logger.debug("New record created with ID: {}", pk);
ViewUtil.addSuccess(model, "crud.saveSuccess", request, getPrimaryKeyValue(t));

}

初始化绑定(bind)器在 AbstractViewController 中声明为:

public abstract class AbstractViewController {

@InitBinder
public void initBinder(WebDataBinder binder) {
String dateFormat = "dd/MM/yyyy";
binder.registerCustomEditor(DateTime.class, new DateTimeEditor(dateFormat,true));
}

}

好的。现在的问题是:我正在保存表单,日志显示:

DEBUG:com.keype.hawk.hr.mvc.StaffViewController[save]:Executing save for model: Staff [staffId=null, firstName=Steve,, lastName=Harris,, middleName=,, nationality=AF, dob=2012-09-11T00:00:00.000+03:00, status=1000, title=Mr, address1=, address2=, city=, state=, postalCode=, country=AF, homePhoneAreaCode=, homePhone=,, homePhoneExt=, homePhoneAllowSoliciation=, workPhoneAreaCode=, workPhone=null, workPhoneExt=, workPhoneAllowSoliciation=, fax=, mobileAreaCode=, mobile=, mobileAllowSolicitation=, email=null, joiningDate=null, gender=, govtId=, maritalStatus=, passportNumber=, passportExpiryDate=null, totalWorkExperience=, notes=, staffCreated=null, staffModified=null, dateCreated=null, dateModified=null]

注意每个字段后面的逗号。

为了调试,我使用 jquery serialize 序列化了表单并进行了检查,发现其中没有逗号。然后 ajax 将此数据发布到服务器,并在 @ModelAttribute 完成其工作后,附加逗号。

有什么想法吗?与 Init 绑定(bind)器有关的东西吗?

最佳答案

我遇到了同样的问题,但 Twitter Bootstrap 不是原因。

就我而言,我们有 2 个具有相同名称属性的输入。在这种情况下,这两个输入的数据将作为数组发送。由于我的输入为空,因此数组为 myName=,

关于jquery - @ModelAttribute 出现奇怪的逗号附加问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395490/

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