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.
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>