您的位置:首页 > 编程语言 > Java开发

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);

}

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: