[英]How to view data in struts2?
我試圖從jsp查看數據庫中的數據,所以現在我有了一個想法,即在jsp中沒有任何scriplet或Java代碼。我學會了在struts.xml中使用模型驅動和一些攔截器,但是我不知道如何實現那么,有人可以指導並幫助我進一步了解Strut2 World嗎?
Beantest:
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getBook()
{
return Book;
}
public void setBook(String book)
{
Book = book;
}
public String getAuthor()
{
return Author;
}
public void setAuthor(String author)
{
Author = author;
}
public String getAvailbleqty()
{
return Availbleqty;
}
public void setAvailbleqty(String availbleqty)
{
Availbleqty = availbleqty;
}
public String getCategory()
{
return Category;
}
public void setCategory(String category)
{
Category = category;
}
DataAction.java:
public List<Beantest> viewbook()
{
List<Beantest> al=new ArrayList<Beantest>();
Beantest bt = new Beantest();
try
{
String sql = "select * from Bookavaible";
Statement stmt;
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
{
bt.setId(rs.getString("id"));
bt.setBook(rs.getString("Book"));
bt.setAuthor(rs.getString("Author"));
bt.setAvailbleqty(rs.getString("Availbleqty"));
bt.setCategory(rs.getString("Category"));
al.add(bt);
}
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return al;
}
動作測試
public class ActionTest {
Beantest bt;
private List<Beantest> beans;
public String viewbookaction()
{
DataAction da = new DataAction();
beans = da.viewbook();
return ActionSupport.SUCCESS;
}
public List<Beantest> getBeans()
{
return beans;
}
Bookview.jsp:
<s:action name="VBA">
<td>id:</td>
<td>Book:</td>
<td>Author:</td>
<td>Availbleqty:</td>
<td>Category:</td>
</s:action>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>BookView.jsp</welcome-file>
</welcome-file-list>
</web-app>
strut2.xml
<package name="a" namespace="/">
<action name="VBA" class="Action.ActionTest" method="viewbookaction">
<result name="success">/BookView.jsp</result>
</action>
</package>
除非您知道這樣做的方式和原因,否則不要在JSP中使用s:action
標記。 要在JSP中顯示值,根本不需要它。 您應該使用struts標記訪問操作bean屬性。 例如,您可以使用s:property
標簽將值打印到JSP。 例如
<s:iterator value="beans">
id: <s:property value="id"/><br>
Book: <s:property value="book"/><br>
Author: <s:property value="author"/><br>
Availbleqty: <s:property value="availbleqty"/><br>
Category: <s:property value="category"/><br>
<s:/iterator>
不推薦使用FilterDispatcher
,而應將其替換為StrutsPrepareAndExecuteFilter
。 請參閱web.xml
文檔。 另請參見此答案,以獲取有關Struts和Hibernate中項目實施的需求建議 。
如下更改您的web.xml和stuts.xml。
Struts.xml
<struts>
<constant name="struts.devMode" value="true" />
<package name="a" namespace="/" extends="struts-default">
<action name="" class="Action.ActionTest" method="viewbookaction">
<result name="success">/BookView.jsp</result>
</action>
</package>
web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
就這樣。 簡單地運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.