Java实现-----问题和对应答案的添加和删除(前台和后台)
2016-05-05 13:59
405 查看
前台页面:jsp:
<tr>
<td align="right"><label class="Validform_label">添加问题: </label></td>
<td class="value">
<div class="question">
<span>内容</span><span style="margin-left: 140px;">答案</span><span style="margin-left: 150px;">分值</span><span style="margin-left: 200px;"> </span><br>
<c:forEach items="${geHealthQuestionList}" var="geHealthQuestion">
<div class="questionss">
<input type="hidden" class="questionId" value="${geHealthQuestion.id}"/>
<input type="text" class="questionContent" value="${geHealthQuestion.content}"/><br/>
<div class="answerss">
<c:forEach items="${geHealthQuestion.geHealthAnswer}" var="geHealthAnswer">
<div class="answerssId">
<span style="margin-left: 150px;">
<input type="hidden" class="answerId" value="${geHealthAnswer.id}"/>
<input type="text" class="answerContent" value="${geHealthAnswer.content}"/>
<input type="text" class="answerScore" value="${geHealthAnswer.score}"/>
<input type="button" class="shanchudaan" value="删除答案" /><br/>
</span>
</div>
</c:forEach>
<input type="button" class="tianjiadaan" value="添加答案" style="margin-left: 150px;"/><br/>
<input type="hidden" class="questionRemark" value="${geHealthQuestion.remark}"/>
</div>
<input type="button" class="shanchuwenti" value="删除问题" />
<br>
</div>
</c:forEach>
</div>
<input type="button" class="tianjiawenti" value="添加问题"/>
<input type="hidden" id="questionSize" name="questionSize" value="${questionSize}"/>
</td>
</tr>
js实现:
//问题的添加和删除
$('.tianjiawenti').live("click",function(){
var qsize = $("#questionSize").val();
if(qsize == null || qsize == ''|| qsize == 0){
qsize=0;
}
var testQuestionStr = '';
testQuestionStr += '<div class="questionss">'+
'<input type="hidden" class="questionId" value=""/>'+
'<input type="text" class="questionContent" value=""/><br/>'+
'<div class="answerss">';
testQuestionStr += '<div class="answerssId">'+
'<span style="margin-left: 150px;">'+
'<input type="hidden" class="answerId" value=""/>'+
'<input type="text" class="answerContent" value=""/>'+
'<input type="text" class="answerScore" value=""/>'+
'<input type="button" class="shanchudaan" value="删除答案" /><br/>'+
'</span>'+
'</div>';
testQuestionStr += '<input type="button" class="tianjiadaan" value="添加答案" style="margin-left: 150px;"/><br/>'+
'<input type="hidden" class="questionRemark" value=""/>'+
'</div>'+
'<input type="button" class="shanchuwenti" value="删除问题" /><br>'+
'</div>';
$(this).siblings(".question").append(testQuestionStr);
var as = parseInt(qsize)+1;
$("#questionSize").val(as);
var questionSum = $("#questionSize").val();
$("#sum").val(questionSum);
});
$('.shanchuwenti').live("click",function(){
var qsize = $("#questionSize").val();
if(qsize == null || qsize == ''|| qsize == 0){
qsize = 0;
}
$(this).parent(".questionss").remove();
//通过ajax异步删除
var qval = $(this).parent(".questionss").children(".questionId").val();
if(qval!=null&&qval!=''){
$.ajax({
type: "POST",
url: "health.do?deleteQuestion",
data: { "questionId":qval },
success: function(data){
var datas = eval("("+data+")");
if(datas.flag == '0'){
alert("删除成功!");
}
}
});
}
var as = parseInt(qsize)-1;
$("#questionSize").val(as);
var questionSum = $("#questionSize").val();
$("#sum").val(questionSum);
});
//答案的添加和删除
$(".tianjiadaan").live("click",function(){
var answerStr = '';
answerStr += '<div class="answerssId">'+
'<span style="margin-left: 150px;">'+
'<input type="hidden" class="answerId" value=""/>'+
'<input type="text" class="answerContent" value=""/>'+
'<input type="text" class="answerScore" value=""/>'+
'<input type="button" class="shanchudaan" value="删除答案" /><br/>'+
'</span>'+
'</div>';
$(this).before(answerStr);
});
$(".shanchudaan").live("click",function(){
$(this).parent().parent(".answerssId").remove();
//通过ajax异步删除
var aval = $(this).parent().children(".answerId").val();
if(aval!=null&&aval!=''){
$.ajax({
type: "POST",
url: "health.do?deleteAnswer",
data: { "answerId":aval },
success: function(data){
var datas = eval("("+data+")");
if(datas.flag == '0'){
alert("删除成功!");
}
}
});
}
});
后台部分代码:
String jsonStr = request.getParameter("jsonStr");
//json转List
JSONArray array = JSONArray.fromObject(jsonStr);
System.out.println(array.toString());
//解析json字符串 问题和答案的添加或更新
if(array.size()>0){
for (int i = 0; i < array.size(); i++) {
JSONObject objquestion = JSONObject.fromObject(array.get(i).toString());
if(objquestion.get("questionId").toString()!=null && !objquestion.get("questionId").toString().equals("")){
//更新
//先对问题进行更新
String sql1 = "from GeHealthQuestion a where a.id="+objquestion.get("questionId").toString();
List<GeHealthQuestion> geHealthQuestions = geHealthQuestionService.findByQueryString(sql1);
geHealthQuestions.get(0).setCode(geHealthType.get(0).getId().toString());
geHealthQuestions.get(0).setOrderNo(i+1);
geHealthQuestions.get(0).setContent((String)objquestion.get("content"));
geHealthQuestions.get(0).setRemark((String)objquestion.get("questionRemark"));
geHealthQuestions.get(0).setUpdateTime(new Date());
geHealthQuestionService.updateEntitie(geHealthQuestions.get(0));
//对于答案的更新或添加(通过answerId是否为空判断)
JSONArray arrayanswer = JSONArray.fromObject(objquestion.get("answerList").toString());
if(arrayanswer.size()>0){
for (int k = 0; k < arrayanswer.size(); k++) {
JSONObject objanswer = JSONObject.fromObject(arrayanswer.get(k).toString());
//answerId为空,添加;不为空,更新
if(objanswer.get("answerId").toString()!=null && !objanswer.get("answerId").toString().equals("")){ //更新答案
String sql2 = "from GeHealthAnswer a where a.id="+objanswer.get("answerId").toString();
List<GeHealthAnswer> geHealthAnswers = geHealthAnswerService.findByQueryString(sql2);
String answerScore = (String)objanswer.get("answerScore");
if(StringUtils.isNotBlank(answerScore)){
geHealthAnswers.get(0).setScore(Integer.valueOf(answerScore));
}else{
geHealthAnswers.get(0).setScore(0);
}
geHealthAnswers.get(0).setContent((String)objanswer.get("answerContent"));
geHealthAnswers.get(0).setQuestionId(geHealthQuestions.get(0).getId().toString());
geHealthAnswers.get(0).setUpdateTime(new Date());
geHealthAnswerService.updateEntitie(geHealthAnswers.get(0));
}else{
//添加答案
GeHealthAnswer geHealthAnswer = new GeHealthAnswer();
geHealthAnswer.setContent((String)objanswer.get("answerContent"));
String answerScore = (String)objanswer.get("answerScore");
if(StringUtils.isNotBlank(answerScore)){
geHealthAnswer.setScore(Integer.valueOf(answerScore));
}else{
geHealthAnswer.setScore(0);
}
geHealthAnswer.setQuestionId(geHealthQuestions.get(0).getId().toString());
geHealthAnswer.setCreateTime(new Date());
geHealthAnswer.setUpdateTime(new Date());
geHealthAnswerService.save(geHealthAnswer);
}
}
}
}else{
//添加
//添加问题
GeHealthQuestion geHealthQuestion = new GeHealthQuestion();
geHealthQuestion.setCode(geHealthType.get(0).getId().toString());
geHealthQuestion.setOrderNo(i+1);
geHealthQuestion.setContent((String)objquestion.get("content"));
geHealthQuestion.setCreateTime(new Date());
geHealthQuestion.setUpdateTime(new Date());
geHealthQuestionService.save(geHealthQuestion);
//添加答案
JSONArray arrayanswer = JSONArray.fromObject(objquestion.get("answerList").toString());
if(arrayanswer.size()>0){
for (int k = 0; k < arrayanswer.size(); k++) {
JSONObject objanswer = JSONObject.fromObject(arrayanswer.get(k).toString());
GeHealthAnswer geHealthAnswer = new GeHealthAnswer();
geHealthAnswer.setContent((String)objanswer.get("answerContent"));
String answerScore = (String)objanswer.get("answerScore");
if(StringUtils.isNotBlank(answerScore)){
geHealthAnswer.setScore(Integer.valueOf(answerScore));
}else{
geHealthAnswer.setScore(0);
}
geHealthAnswer.setQuestionId(geHealthQuestion.getId().toString());
geHealthAnswer.setCreateTime(new Date());
geHealthAnswer.setUpdateTime(new Date());
geHealthAnswerService.save(geHealthAnswer);
}
}
}
}
}
<tr>
<td align="right"><label class="Validform_label">添加问题: </label></td>
<td class="value">
<div class="question">
<span>内容</span><span style="margin-left: 140px;">答案</span><span style="margin-left: 150px;">分值</span><span style="margin-left: 200px;"> </span><br>
<c:forEach items="${geHealthQuestionList}" var="geHealthQuestion">
<div class="questionss">
<input type="hidden" class="questionId" value="${geHealthQuestion.id}"/>
<input type="text" class="questionContent" value="${geHealthQuestion.content}"/><br/>
<div class="answerss">
<c:forEach items="${geHealthQuestion.geHealthAnswer}" var="geHealthAnswer">
<div class="answerssId">
<span style="margin-left: 150px;">
<input type="hidden" class="answerId" value="${geHealthAnswer.id}"/>
<input type="text" class="answerContent" value="${geHealthAnswer.content}"/>
<input type="text" class="answerScore" value="${geHealthAnswer.score}"/>
<input type="button" class="shanchudaan" value="删除答案" /><br/>
</span>
</div>
</c:forEach>
<input type="button" class="tianjiadaan" value="添加答案" style="margin-left: 150px;"/><br/>
<input type="hidden" class="questionRemark" value="${geHealthQuestion.remark}"/>
</div>
<input type="button" class="shanchuwenti" value="删除问题" />
<br>
</div>
</c:forEach>
</div>
<input type="button" class="tianjiawenti" value="添加问题"/>
<input type="hidden" id="questionSize" name="questionSize" value="${questionSize}"/>
</td>
</tr>
js实现:
//问题的添加和删除
$('.tianjiawenti').live("click",function(){
var qsize = $("#questionSize").val();
if(qsize == null || qsize == ''|| qsize == 0){
qsize=0;
}
var testQuestionStr = '';
testQuestionStr += '<div class="questionss">'+
'<input type="hidden" class="questionId" value=""/>'+
'<input type="text" class="questionContent" value=""/><br/>'+
'<div class="answerss">';
testQuestionStr += '<div class="answerssId">'+
'<span style="margin-left: 150px;">'+
'<input type="hidden" class="answerId" value=""/>'+
'<input type="text" class="answerContent" value=""/>'+
'<input type="text" class="answerScore" value=""/>'+
'<input type="button" class="shanchudaan" value="删除答案" /><br/>'+
'</span>'+
'</div>';
testQuestionStr += '<input type="button" class="tianjiadaan" value="添加答案" style="margin-left: 150px;"/><br/>'+
'<input type="hidden" class="questionRemark" value=""/>'+
'</div>'+
'<input type="button" class="shanchuwenti" value="删除问题" /><br>'+
'</div>';
$(this).siblings(".question").append(testQuestionStr);
var as = parseInt(qsize)+1;
$("#questionSize").val(as);
var questionSum = $("#questionSize").val();
$("#sum").val(questionSum);
});
$('.shanchuwenti').live("click",function(){
var qsize = $("#questionSize").val();
if(qsize == null || qsize == ''|| qsize == 0){
qsize = 0;
}
$(this).parent(".questionss").remove();
//通过ajax异步删除
var qval = $(this).parent(".questionss").children(".questionId").val();
if(qval!=null&&qval!=''){
$.ajax({
type: "POST",
url: "health.do?deleteQuestion",
data: { "questionId":qval },
success: function(data){
var datas = eval("("+data+")");
if(datas.flag == '0'){
alert("删除成功!");
}
}
});
}
var as = parseInt(qsize)-1;
$("#questionSize").val(as);
var questionSum = $("#questionSize").val();
$("#sum").val(questionSum);
});
//答案的添加和删除
$(".tianjiadaan").live("click",function(){
var answerStr = '';
answerStr += '<div class="answerssId">'+
'<span style="margin-left: 150px;">'+
'<input type="hidden" class="answerId" value=""/>'+
'<input type="text" class="answerContent" value=""/>'+
'<input type="text" class="answerScore" value=""/>'+
'<input type="button" class="shanchudaan" value="删除答案" /><br/>'+
'</span>'+
'</div>';
$(this).before(answerStr);
});
$(".shanchudaan").live("click",function(){
$(this).parent().parent(".answerssId").remove();
//通过ajax异步删除
var aval = $(this).parent().children(".answerId").val();
if(aval!=null&&aval!=''){
$.ajax({
type: "POST",
url: "health.do?deleteAnswer",
data: { "answerId":aval },
success: function(data){
var datas = eval("("+data+")");
if(datas.flag == '0'){
alert("删除成功!");
}
}
});
}
});
后台部分代码:
String jsonStr = request.getParameter("jsonStr");
//json转List
JSONArray array = JSONArray.fromObject(jsonStr);
System.out.println(array.toString());
//解析json字符串 问题和答案的添加或更新
if(array.size()>0){
for (int i = 0; i < array.size(); i++) {
JSONObject objquestion = JSONObject.fromObject(array.get(i).toString());
if(objquestion.get("questionId").toString()!=null && !objquestion.get("questionId").toString().equals("")){
//更新
//先对问题进行更新
String sql1 = "from GeHealthQuestion a where a.id="+objquestion.get("questionId").toString();
List<GeHealthQuestion> geHealthQuestions = geHealthQuestionService.findByQueryString(sql1);
geHealthQuestions.get(0).setCode(geHealthType.get(0).getId().toString());
geHealthQuestions.get(0).setOrderNo(i+1);
geHealthQuestions.get(0).setContent((String)objquestion.get("content"));
geHealthQuestions.get(0).setRemark((String)objquestion.get("questionRemark"));
geHealthQuestions.get(0).setUpdateTime(new Date());
geHealthQuestionService.updateEntitie(geHealthQuestions.get(0));
//对于答案的更新或添加(通过answerId是否为空判断)
JSONArray arrayanswer = JSONArray.fromObject(objquestion.get("answerList").toString());
if(arrayanswer.size()>0){
for (int k = 0; k < arrayanswer.size(); k++) {
JSONObject objanswer = JSONObject.fromObject(arrayanswer.get(k).toString());
//answerId为空,添加;不为空,更新
if(objanswer.get("answerId").toString()!=null && !objanswer.get("answerId").toString().equals("")){ //更新答案
String sql2 = "from GeHealthAnswer a where a.id="+objanswer.get("answerId").toString();
List<GeHealthAnswer> geHealthAnswers = geHealthAnswerService.findByQueryString(sql2);
String answerScore = (String)objanswer.get("answerScore");
if(StringUtils.isNotBlank(answerScore)){
geHealthAnswers.get(0).setScore(Integer.valueOf(answerScore));
}else{
geHealthAnswers.get(0).setScore(0);
}
geHealthAnswers.get(0).setContent((String)objanswer.get("answerContent"));
geHealthAnswers.get(0).setQuestionId(geHealthQuestions.get(0).getId().toString());
geHealthAnswers.get(0).setUpdateTime(new Date());
geHealthAnswerService.updateEntitie(geHealthAnswers.get(0));
}else{
//添加答案
GeHealthAnswer geHealthAnswer = new GeHealthAnswer();
geHealthAnswer.setContent((String)objanswer.get("answerContent"));
String answerScore = (String)objanswer.get("answerScore");
if(StringUtils.isNotBlank(answerScore)){
geHealthAnswer.setScore(Integer.valueOf(answerScore));
}else{
geHealthAnswer.setScore(0);
}
geHealthAnswer.setQuestionId(geHealthQuestions.get(0).getId().toString());
geHealthAnswer.setCreateTime(new Date());
geHealthAnswer.setUpdateTime(new Date());
geHealthAnswerService.save(geHealthAnswer);
}
}
}
}else{
//添加
//添加问题
GeHealthQuestion geHealthQuestion = new GeHealthQuestion();
geHealthQuestion.setCode(geHealthType.get(0).getId().toString());
geHealthQuestion.setOrderNo(i+1);
geHealthQuestion.setContent((String)objquestion.get("content"));
geHealthQuestion.setCreateTime(new Date());
geHealthQuestion.setUpdateTime(new Date());
geHealthQuestionService.save(geHealthQuestion);
//添加答案
JSONArray arrayanswer = JSONArray.fromObject(objquestion.get("answerList").toString());
if(arrayanswer.size()>0){
for (int k = 0; k < arrayanswer.size(); k++) {
JSONObject objanswer = JSONObject.fromObject(arrayanswer.get(k).toString());
GeHealthAnswer geHealthAnswer = new GeHealthAnswer();
geHealthAnswer.setContent((String)objanswer.get("answerContent"));
String answerScore = (String)objanswer.get("answerScore");
if(StringUtils.isNotBlank(answerScore)){
geHealthAnswer.setScore(Integer.valueOf(answerScore));
}else{
geHealthAnswer.setScore(0);
}
geHealthAnswer.setQuestionId(geHealthQuestion.getId().toString());
geHealthAnswer.setCreateTime(new Date());
geHealthAnswer.setUpdateTime(new Date());
geHealthAnswerService.save(geHealthAnswer);
}
}
}
}
}
相关文章推荐
- 读《Spring技术内幕》-总结3-IoC容器的初始化过程
- 利用java反射调用类及父类的的私有方法
- Java 知识结构图
- Java编程知识积累
- MyEclipse优化设置(最详细版本)
- Myeclipse中java项目转成Web项目
- 【PBlog】开源,使用 Java 写的用 markdown 做为写作语法的单页应用博客
- Spring Security 4 自定义登录表单 注解和XML例子(带源码)
- Java NIO Socket通信
- Struts2实现文件上传和下载
- myeclipse 选中效果属性、方法同属性变色
- 【fastweixin框架教程5】企业号成员部门管理
- Spring中@Transactional事务回滚
- 基于注解的SpringMVC简单介绍
- java 空字符串与null区别
- java抽象类
- 关于java的上转型对象
- java十进制和十六进制相互转化
- Struts2学习笔记(一)
- 《java入门第一季》之面向对象(this和super详细分析)