简体   繁体   中英

How to view data in struts2?

I am trying to view data from databases from jsp so now I come up with idea by without any scriplet or Java code in jsp .I have learned a modeldriven and some interceptors to use in struts.xml but I don't know how to implement it ?so could some one guide and help to go further am new to 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>

Don't use s:action tag in JSP, until you know how and why to do that. To display values in JSP you are not needed it at all. You should use struts tags to access action bean properties. For example you can print values to the JSP out using s:property tag. For example

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

The FilterDispatcher is deprecated and you should replace it with StrutsPrepareAndExecuteFilter . See web.xml docs. Also see this answer for Need suggestions regarding project implementation in Struts and Hibernate .

Change your web.xml and stuts.xml as below.

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>

That's all. Simply run.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM