前端弹窗中点击配置邮箱,再次弹出弹窗进行配置邮箱,邮箱输入框可以动态的增加和删除, 点击保存按钮,对输入的多个邮箱进行保存,点击取消则不保存,保存成功后在弹窗中回显邮箱信息, 并且java后端怎么接收前端配置的邮箱,通过easyui和ssm实现,前后端具体代码设计
时间: 2024-03-17 19:40:25 浏览: 19
好的,我来回答你的问题。
首先,前端页面的实现可以使用jQuery和EasyUI。具体实现步骤如下:
1. 页面中添加一个弹窗,里面包含一个输入框和两个按钮:增加和删除。
2. 增加按钮点击事件:动态添加一个输入框。
3. 删除按钮点击事件:删除最后一个输入框。
4. 保存按钮点击事件:获取所有输入框的值,通过ajax发送给后端保存。
5. 取消按钮点击事件:关闭弹窗。
具体代码如下:
```html
<div id="emailDialog" class="easyui-dialog" style="width:400px;height:auto;padding:10px;"
closed="true" buttons="#emailDialogButtons">
<div class="email-item">
<input class="easyui-validatebox" type="text" name="emails[]" data-options="required:true,validType:'email'"
style="width:90%">
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true"
onclick="addEmail()">增加</a>
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true"
onclick="removeEmail()">删除</a>
</div>
</div>
<div id="emailDialogButtons">
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-save" onclick="saveEmails()">保存</a>
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="cancelEmails()">取消</a>
</div>
```
```javascript
function addEmail() {
var html = '<div class="email-item">' +
'<input class="easyui-validatebox" type="text" name="emails[]" data-options="required:true,validType:\'email\'" style="width:90%">' +
'<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="removeEmail()">删除</a>' +
'</div>';
$('#emailDialog').append(html);
}
function removeEmail() {
var items = $('.email-item');
if (items.length > 1) {
items.last().remove();
}
}
function saveEmails() {
if ($('#emailForm').form('validate')) {
var emails = [];
$('input[name="emails[]"]').each(function () {
emails.push($(this).val());
});
$.post('/saveEmails', {emails: emails}, function (data) {
if (data.success) {
$.messager.alert('提示', '保存成功!');
$('#emailDialog').dialog('close');
$('#emailList').datagrid('reload');
} else {
$.messager.alert('提示', data.message, 'error');
}
}, 'json');
}
}
function cancelEmails() {
$('#emailDialog').dialog('close');
}
```
后端的实现可以使用SpringMVC框架。具体实现步骤如下:
1. 添加一个Controller,处理/saveEmails请求。
2. 在Controller中获取前端传递的邮箱列表,然后调用Service将邮箱保存到数据库中。
3. 返回一个JSON格式的数据,表示保存是否成功。
具体代码如下:
```java
@Controller
public class EmailController {
@Autowired
private EmailService emailService;
@ResponseBody
@RequestMapping(value = "/saveEmails", method = RequestMethod.POST)
public Map<String, Object> saveEmails(@RequestParam("emails[]") String[] emails) {
Map<String, Object> result = new HashMap<>();
try {
emailService.saveEmails(Arrays.asList(emails));
result.put("success", true);
} catch (Exception e) {
result.put("success", false);
result.put("message", "保存失败!");
}
return result;
}
}
```
至此,前后端代码的设计就完成了。其中,前端使用了EasyUI和jQuery,后端使用了SpringMVC框架。希望能对你有所帮助。