I am creating an struts hibernate application. I have obtained a list using hibernate query and passed it in action class. But I don’t know how to display it in JSP.
I have successfully getting the list on the basis of query. Now I want to display this list in JSP.
I have posted struts.xml
and the JSP for showing result also.
Kindly check. But in JSP nothing is showing up.
I am using s:iterate
to show the list. But no luck.
Even I have tried printing simple text under s:iterate
, just for testing.
But it is also not showing up.
POJO class:
package org.sachin.Model; import java.sql.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Temporal; @Entity @Table(name="feed") public class FeedBack { private FeedBack feedback; private int taste; private int waiter; private int infra; private int price; private int id; private Date date=new java.sql.Date(new java.util.Date().getTime()); public int getTaste() { return taste; } public void setTaste(int taste) { this.taste = taste; } public int getWaiter() { return waiter; } public void setWaiter(int waiter) { this.waiter = waiter; } public int getInfra() { return infra; } public void setInfra(int infra) { this.infra = infra; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } @Id @GeneratedValue(strategy=GenerationType.AUTO) public int getId() { return id; } public void setId(int id) { this.id = id; } @Temporal(javax.persistence.TemporalType.DATE) public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public FeedBack getFeedback() { return feedback; } public void setFeedback(FeedBack feedback) { this.feedback = feedback; } }
Action Class:
package org.sachin.action; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.sachin.Model.Datepicker; import org.sachin.Model.FeedBack; import org.sachin.hibernate.DateSpecific; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class SelectDateAction extends ActionSupport { /** * */ private static final long serialVersionUID = -8922465133057293868L; private Datepicker datepicker; private List<FeedBack> list =new ArrayList<>();; public List<FeedBack> getList() { return list; } public void setList(List<FeedBack> list) { this.list = list; } public String execute(){ String date=getDatepicker().getDate1(); DateSpecific da=new DateSpecific(); list=da.find(date); for(FeedBack feed:list){ System.out.println("price"); System.out.println(feed.getPrice()); } System.out.println("hi"+date); return SUCCESS; } public Datepicker getDatepicker() { return datepicker; } public void setDatepicker(Datepicker datepicker) { this.datepicker = datepicker; } }
Hibernate class:
public List<FeedBack> find(String Date) { // Transaction t=session.beginTransaction(); String SQL_QUERY = " from FeedBack where date='"+Date+"'"; System.out.println("i am in hiber"); System.out.println(SQL_QUERY); org.hibernate.Query query = session.createQuery(SQL_QUERY); List<FeedBack> list = query.list(); for(FeedBack f:list){ System.out.println("price"); System.out.println(f.getPrice()); } return list; }
This is my struts.xml
in which all actions are defined.For now the action is ByDate
.
struts.xml
:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <!-- <constant name="struts.action.excludePattern" value="/ServletToExcludeFromStruts*" /> --> <include file="login.xml"></include> <include file="AdminLogin.xml"></include> <include file="Feedback.xml"></include> <include file="NewUser.xml"></include> <include file="feedback.xml"></include> <include file="expression.xml"></include> <include file="logout.xml"></include> <package name="helloworld" namespace="/tut" extends="struts-default"> <action name="add" class="org.sachin.action.EditAdminAction" method="execute"> <result name="success">/JSP/success.jsp</result> <result name="error">/JSP/AdminUserNameExists.jsp</result> </action> </package> <package name="serve" namespace="/tut" extends="struts-default"> <action name="ByDate" class="org.sachin.action.SelectDateAction" method="execute"> <result name="success" type="redirect">/JSP/iterate.jsp</result> <result name="error" type="redirect">/JSP/FeedBack.jsp</result> <result name="input" type="redirect">/JSP/Rateus.jsp</result> </action> </package> </struts>
This is my JSP for showing list
iterate.jsp
:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <s:form> <body> <h1>Struts 2 Iterator tag example</h1> <h3>Simple Iterator</h3> <ol> <s:iterator value="list"> HE<li><s:property /></li> </s:iterator> </ol> </body> </s:form> </html>
I have successfully getting the list on the basis of query. Now I want to display this list in JSP.
Advertisement
Answer
Use iterator tag:
Iterator will iterate over a value. An iterable value can be any of:
java.util.Collection
,java.util.Iterator
,java.util.Enumeration
,java.util.Map
, or an array.
The code:
<s:iterator value="list"/> Price: <s:property value="price"/><br> </s:iterator>