Ciao a tutti sto tentando in tutti i modi di visualizzare una lista nella pagina jsp ma non ci sono riuscito, allora per fare delle prove ho creato un servlet che richiamo dal browser, ma neanche in questo modo mi esce la lista che ho chiesto... qualcuno sa dove sbaglio?? sono 3 giorni che ci sbatto la testa dalla mattina alla sera
grazie
Servlet displayallquestion:
codice:
package com.qapro.servlets;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.qapro.entity.Question;
import com.qapro.service.QuestionService;
/**
* Servlet implementation class DisplayAllQuestions
*/
public class DisplayAllQuestions extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DisplayAllQuestions() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Long userId = (Long) request.getSession().getAttribute("userId");
QuestionService questionService = new QuestionService();
List<Question> questions = null;
try {
questions = questionService.getAllQuestions(userId);
}
catch (Exception e) {
}
request.setAttribute("questions", questions);
request.getRequestDispatcher("/memberhome.jsp").forward(request,
response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
QuestionService:
codice:
package com.qapro.service;
import java.util.ArrayList;
import java.util.List;
import com.qapro.dao.AnswerDao;
import com.qapro.dao.QuestionDao;
import com.qapro.entity.Answer;
import com.qapro.entity.Question;
public class QuestionService {
QuestionDao questionDao = new QuestionDao();
AnswerDao answerDao = new AnswerDao();
public Question getQuestionAndAnswers(Long questionId){
Question question = questionDao.getQuestionById(questionId);
if(question != null){
List<Answer> answerList = answerDao.getAnswersToQuestion(questionId);
question.setAnswers(answerList);
}
return question;
}
public List<Question> getAllQuestions(Long askerId){
List<Question> questions = questionDao.getQuestionByAskerId(askerId);
return questions;
}
public static void main(String args[]){
QuestionService service = new QuestionService();
Question question = service.getQuestionAndAnswers(1L);
System.out.println(question);
}
}
QuestionDao:
codice:
package com.qapro.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import com.qapro.entity.EmailValidation;
import com.qapro.entity.Question;
import com.qapro.enums.VotingEnum;
public class QuestionDao extends JavathlonJdbcTemplate<Question>{
private String insertQuestionSql = "INSERT INTO qapro.question (text,insert_date,is_active,asker_id,up_vote,down_vote)"
+" VALUES (:text , :insert_date , :is_active , :asker_id , :up_vote , :down_vote )";
private String selectQuestionSql = "select id,text,insert_date,is_active,asker_id,up_vote,down_vote from question";
public Long insertQuestion(Question question) throws Exception{
SqlParameterValues values = new SqlParameterValues();
values.addValue("text", question.getText());
values.addValue("insert_date", new Date());
values.addValue("is_active", true);
values.addValue("asker_id", question.getAskerId());
values.addValue("up_vote", 0L);
values.addValue("down_vote", 0L);
return this.insertItem(insertQuestionSql, values);
}
public Question getQuestionById(Long id)
{
String sql = selectQuestionSql + " where id = :question_id";
List<Question> questionList = this.getList(sql, new SqlParameterValues().addValue("question_id", id), new QuestionRowMapper());
if(questionList != null && questionList.size() > 0)
return questionList.get(0);
else return null;
}
public List<Question> getQuestionByAskerId(Long id)
{
String sql = selectQuestionSql + " where asker_id = :asker_id";
List<Question> questionList = this.getList(sql, new SqlParameterValues().addValue("asker_id", id), new QuestionRowMapper());
if(questionList != null && questionList.size() > 0)
return questionList;
else return null;
}
public void voteQuestion(Long questionId, VotingEnum type) throws Exception
{
String upVoteSql = "UPDATE question SET up_vote = up_vote +1 where id = :question_id";
String downVoteSql = "UPDATE question SET down_vote = down_vote +1 where id = :question_id";
if(VotingEnum.UP == type)
this.update(upVoteSql, new SqlParameterValues().addValue("question_id", questionId));
else if(VotingEnum.DOWN == type)
this.update(downVoteSql, new SqlParameterValues().addValue("question_id", questionId));
}
public static void main(String args[]){
try {
QuestionDao questionDao = new QuestionDao();
Question question = new Question();
question.setText("What is the best resource for Java training?");
question.setAskerId(3L);
questionDao.insertQuestion(question);
// Question question2 = questionDao.getQuestionById(4L);
// if(question2 != null)
// System.out.println("question is: " + question2.getText());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private class QuestionRowMapper implements SqlRowMapper<Question>{
public Question mapSqlToObject(ResultSet resultSet) throws SQLException {
Question question = new Question();
question.setId(resultSet.getLong(1));
question.setText(resultSet.getString(2));
question.setInsertDate(resultSet.getDate(3));
question.setActive(resultSet.getBoolean(4));
question.setAskerId(resultSet.getLong(5));
question.setUpVote(resultSet.getLong(6));
question.setDownVote(resultSet.getLong(7));
return question;
}
}
}