在我的应用程序中,我想通过使用jsp中的选择框来获取在控制器的会话中设置的模型对象的数据。在javascript中通过EL访问模型对象的lisf
下面,如果我使用
我已经设置这样的事情在我的控制器
List<ContactPersonEntity> contactlist = service.getAllContactPerson(1);
session.setAttribute("contactlist", contactlist);
这里的模型
private Integer company_code;
private Integer cp_code;
@NotBlank
@Size(min = 0, max = 50)
private String cp_name;
@NotBlank
@Email
@Size(min = 0, max = 50)
private String email;
private Integer verification_status;
@NotBlank
@Size(min = 0, max = 30)
private String department;
@NotBlank
@Size(min = 0, max = 30)
private String phone;
实际形式和我的JSP是这样的
<!--Contact Information-->
<div class="row">
<div class="col-md-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">Contact Information</h3>
<div class="box-tools pull-right">
<button class="btn btn-box-tool" data-widget="collapse">
<i class="fa fa-minus"></i>
</button>
</div>
</div>
<!-- /.box-header -->
<div class="box-body dt-space">
<c:set var="phone_num" value="${contactperson.phone}" />
<c:set var="mail" value="${contactperson.email}" />
<div class="form-group">
<dl class="dl-horizontal">
<dt>
<label>Contact Person:</label>
</dt>
<dd>
<div class="row">
<div class="col-md-8">
<select class="form-control" name="jp_entity.cp_code"
id="contact_person" onchange="chkContactPerson()" onload="onStart()">
<c:forEach items="${contactlist}" var="contactperson">
<option value="${contactperson.cp_code}">${contactperson.cp_name}</option>
</c:forEach>
</select>
</div>
<div class="col-md-4">
<p class="help-block">The option is required!</p>
</div>
</div>
</dd>
</dl>
</div>
<div class="form-group">
<dl class="dl-horizontal">
<dt>
<label>Phone:</label>
</dt>
<dd>
<div class="row">
<div class="col-md-8">
<input type="text" class="form-control" name="phone"
id="phone" placeholder="Phone" disabled>
</div>
</div>
</dd>
</dl>
</div>
<div class="form-group">
<dl class="dl-horizontal">
<dt>
<label>Email:</label>
</dt>
<dd>
<div class="row">
<div class="col-md-8">
<input type="text" class="form-control" id="email"
name="email" placeholder="Email" disabled>
</div>
<div class="col-md-4">
<p class="help-block">The option is required!</p>
</div>
</div>
</dd>
</dl>
</div>
<div class="form-group">
<dl class="dl-horizontal">
<dt>
<label>Website:</label>
</dt>
<dd>
<div class="row">
<div class="col-md-8">
<textarea class="form-control text_area"
style="resize: none" id="exampleInputUser"
placeholder="Your web address here"
name="jp_entity.website"></textarea>
</div>
<div class="col-md-4">
<p class="help-block">The option is required!</p>
</div>
</div>
<p class="help-block">
<form:errors path="jp_entity.website" cssClass="error"></form:errors>
</p>
</dd>
</dl>
</div>
<div class="form-group">
<dl class="dl-horizontal">
<dt>
<label>Address:</label>
</dt>
<dd>
<div class="row">
<div class="col-md-8">
<textarea class="form-control text_area"
id="exampleInputUser" placeholder="Your address here"
name="jp_entity.address"></textarea>
</div>
<div class="col-md-4">
<p class="help-block">The option is required!</p>
</div>
</div>
<p class="help-block">
<form:errors path="jp_entity.address" cssClass="error"></form:errors>
</p>
</dd>
</dl>
</div>
通过选择联系人,电子邮件和电话文本框中的信息将自动填入匹配信息。
问题是我该如何传递被选中javascript的对象的信息?我被困在这里,我不知道如何通过EL传递对象列表到JavaScript,因为它完全运行在2个不同的环境中。如果有更好的方法,请告诉我方式,但我很新。谢谢。
这项工作很棒,但是如何在表单加载时获得选择框选定项目?因为我知道onload事件根本不适用于选择框。 – Razeth
只要选定的值与选项值匹配,就让JSP/EL有条件地打印'selected'属性。另见a.o. HTTP://计算器。com/questions/15657367 – BalusC
谢谢,但我真正想要的是另一个两个文本框自动填充表单首次加载时不需要更改选择框的选择索引。顺便谢谢你,这对我有很大的帮助。 – Razeth