如何在struts2中查看数据?

时间:2014-05-16 05:35:17

标签: java jsp struts2

我正在尝试从jsp查看来自数据库的数据,所以现在我想出了jsp中没有任何scriplet或Java代码的想法。我已经学习了一个modeldriven和一些在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;

}

Actiontest.java

 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>

2 个答案:

答案 0 :(得分:3)

不要在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>

{@ 1}}已弃用,您应将其替换为FilterDispatcher。请参阅web.xml文档。另见这个答案 Need suggestions regarding project implementation in Struts and Hibernate

答案 1 :(得分:1)

更改您的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>

这就是全部。简单地跑。