【问题标题】:How to fetch data entries from mysql in jsp using struts2 in eclipse environment?如何在eclipse环境中使用struts2从jsp中的mysql获取数据条目?
【发布时间】:2014-07-07 15:57:59
【问题描述】:

EventDropDown.java //第1页

package com.tutorialspoint.struts2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
//import java.util.List;


import com.mysql.jdbc.ResultSetMetaData;
import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")`enter code here`
public class EventDropdownAction extends ActionSupport {

    ArrayList<Event> eventList=new ArrayList<Event>();

    public ArrayList<Event> getList() {
        return eventList;
    }


    public void setList(ArrayList<Event> eventList) {
        this.eventList = eventList;
    }
     private String eventName;
     public String execute()
     {
        logger.info("Message-execute");
        return ""; 
     }
    public String getEventList() 
    {
Connection conn = null;
 try {
             String URL = "jdbc:mysql://localhost:3306/bookmyshow_dates";
             Class.forName("com.mysql.jdbc.Driver");
             conn = DriverManager.getConnection(URL, "dra2", "dr@2");
        "CASE \r\n" + 
                    "   WHEN DATEDIFF(DATE,NOW()) = 0 THEN CONCAT('Today',',',DAY(DATE),' ',MONTHNAME(DATE))\r\n" + 
                    "   WHEN DATEDIFF(DATE,NOW()) = 1 THEN CONCAT('Tomorrow',',',DAY(DATE),' ',MONTHNAME(DATE))\r\n" + 
                    "   WHEN DATEDIFF(DATE,NOW()) > 1 THEN CONCAT(DAYNAME(DATE),',',DAY(DATE),' ',MONTHNAME(DATE))\r\n" + 
                    "END AS EventDay\r\n" + 
                    "FROM EVENTS\r\n" + 
                    "WHERE DATE_FORMAT(DATE,'%d/%m/%Y') >= DATE_FORMAT(NOW(),'%d/%m/%Y')";
 String sql ="SELECT * FROM user3333";
             PreparedStatement ps = conn.prepareStatement(sql);

             ResultSet rs = ps.executeQuery();
             ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData();
             int numberOfColumns = rsmd.getColumnCount();
             int rowCount=0;
             if(rs.last()){
                 rowCount= rs.getRow();
              } else {
                  rowCount= 0; //just cus I like to always do some kind else statement.
              }
              while (rs.next()) {
Event objEvent=new Event();
                 objEvent.setEventId(rs.getInt("EventId"));
                 objEvent.setEventName(rs.getString("EventName"));
                 objEvent.setEventDay(rs.getString("EventDay"));

                 Event objEvent=new Event(rs.getInt(1),rs.getString(2));
                 eventList.add(objEvent);
                ret = SUCCESS;
 }
          } catch (Exception e) 
{
  ret = ERROR;
 return "error";
          } 
          finally {
             if (conn != null) {
                try {
                   conn.close();
                } catch (Exception e) {
                }
             }
          }
          return "eventDropdown";
    }
}

Event.java //第2页

package com.tutorialspoint.struts2;

public class Event {
    public int EventId;
    public String EventName,EventDay;

    Event()
    {
        this.EventId = 0;
        this.EventName = "";
    }
    Event(int eventId, String eventName)
    {
        this.EventId = eventId;
        this.EventName = eventName;
    }

    public int getEventId() {
        return EventId;
    }
    public void setEventId(int id) {
        this.EventId = id;
    }
    public String getEventName() {
        return EventName;
    }
    public void setEventName(String name) {
        this.EventName = name;
    }
    public String getEventDay() {
        return EventDay;
    }
    public void setEventDay(String eventDay) {
        this.EventDay = eventDay;
    }
}

Error.jsp //第3页

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
error page.
</body>
</html>

**Success.jsp** //Page 3

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
success page.

</body>
</html>

EventDayDropdown.jsp //第4页

<%@ 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>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
     <s:select name="username" label="Username" list="{'Mike','John','Smith'}" />
     <br>
     <s:select label="Select Event" name="ddlEvent" headerKey="0" headerValue="--Select--" list="{eventList}" listKey="{EventId}" listValue="{EventName}"/>
<%-- <s:select label="Select Event" name="ddlEvent" headerKey="0" headerValue="--Select--" list="{eventList}" /> --%>
<%-- <s:select name="event" list="eventList" listKey="eventId" listValue="eventName" headerKey="0" headerValue="--Event--" label="Select a event" /> --%>
</body>
</html>

Struts.xml //第5页

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

   <package name="helloworld" extends="struts-default">
      <action name="event" class="com.tutorialspoint.struts2.EventDropdownAction" 
            method="getEventList">
            <result name="success">/success.jsp</result>
            <result name="failure">/error.jsp</result>
            <result name="eventDropdown">/EventDayDropdown.jsp</result>
      </action>
     </package>

</struts>

这些是在 Eclipse IDE 中使用 struts 2 完成的文件。

我的数据库包含

具有属性的3列

Event_Id  1, 2, 3, 4 
EventName 2 states, Hobbit, Gravity,Gladiator.
Dates 20/5/2014, 21/5/2014, 21/5/2014, 23/5/2014

像这样。 请帮我。我是初学者。

【问题讨论】:

    标签: java mysql eclipse jsp struts2


    【解决方案1】:

    尝试通过使用日志框架或简单的 System.out.println 语句来跟踪您的代码块,但它们在 db 获取期间的 db 调用之后和从方法返回之前的开始中间,然后查看究竟是什么你的问题?它是在数据库中还是来自 struts2 或来​​自 Java 代码。

    另一种解决方案是创建单独的应用程序,创建一个独立项目以从 mysql 数据库中获取数据并在控制台中对其进行测试,并创建一个带有静态的 struts2 项目 内容而不是尝试从数据库中获取数据并查看 Web 应用程序是否 提供你所需要的。最后加入这两个项目。所以如果发生任何错误,你可以解决 分开。

    【讨论】:

    • 感谢您的回复。我成功连接了 MySQL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 2018-11-24
    • 2015-11-25
    • 2011-06-19
    • 1970-01-01
    相关资源
    最近更新 更多