Как установить значение флажка динамически в jsp (значения поступают из базы данных) - PullRequest
1 голос
/ 01 июля 2011

У меня есть файл jsp, в котором я должен отображать заметки с указанием даты и описания. Поскольку на определенную дату может быть несколько заметок (как в планировщике), поэтому на одной странице может отображаться более одной заметки.время.Теперь я хочу, чтобы пользователь мог изменять определенные заметки в базе данных, проверяя их с помощью флажков.теперь, как значения примечания поступают динамически из базы данных, как я могу установить значение для флажка.

fetchcontent.java

public class CnmsDes extends HttpServlet{
    public void doPost.......{
        List list=new ArrayList();
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        System.out.println("Oracle Connect Example.");
        Connection conn = null;
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String driver = "oracle.jdbc.driver.OracleDriver";
        String userName = "system"; 
        String password = "mint";
        Statement st;
        try {
            Class.forName(driver).newInstance();
            conn = DriverManager.getConnection(url,userName,password);
            System.out.println("Connected to the database");

            String  ndate  = request.getParameter("date");
            String  eid  = request.getParameter("empid");
            String strar[] = ndate.split("/");
            String cdate = strar[0]+"/" + strar[1]+"/"+ strar[2];
            if(eid==null||eid=="Enter Your Employee ID"){response.sendRedirect("viewnotes.jsp");}
            String query = "select * from CNMS_NOTES where emp_id='"+eid+"' and note_date='"+cdate+"'";

            Statement stmt=conn.createStatement();
            ResultSet rs=stmt.executeQuery(query);


            while(rs.next()){
                list.add(rs.getString("note_date"));
                list.add(rs.getString("title"));
                list.add(rs.getString("description"));

            }

        }
        catch(Exception e){out.print(e);}
        request.setAttribute("description",list);
        RequestDispatcher rd = request.getRequestDispatcher("/displaynotes.jsp");
        rd.forward(request, response);
    } 
}

и displaynotes.jsp

<%@page language="java" import="java.util.*" %>
<html>
    <body background="images/bg1.jpg">     
        <form>
            <table class="t" border="1" width="650" align="center" >
                <tr>
                    <td width="10"><b></b></td>
                    <td width="100"><b>Date</b></td>
                    <td width="150"><b>Title</b></td>
                    <td width="100"><b>Description</b></td>            
                </tr>

                <%  
                    Iterator itr;
                    List data=(List)request.getAttribute("description");            
                    int k=data.size();
                    request.setAttribute("size",k);        
                    for(itr=data.iterator();itr.hasNext();) {
                %>

                <tr class="a">          
                    <td>
                        <input type="checkbox" name="cbdate" value="<%=request.getParameter("checkeddate") %>">
                    </td>
                    <td width="100">
                        <input type="text" name="checkeddate" value="<%=itr.next()%>" class="b">
                    </td>
                    <td width="150">
                        <input type="text" name="checkedtitle" value="<%=itr.next()%>" class="b">
                    </td>
                    <td width="200">
                        <textarea cols="39" rows="3"><%=itr.next()%></textarea>
                    </td>        
                </tr>
                <% } %>
            </table>
            <table border="1" align="center">
                <tr>
                    <td>
                        <input type="submit" value="MODIFY" onclick="this.form.action='expriment.jsp';">
                    </td>
                    <td>
                        <input type="submit" value="DELETE" onclick="this.form.action='abc.jsp';">
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

1 Ответ

0 голосов
/ 09 июля 2011

Что я хотел бы сделать, это создать новый массив List, а затем добавить текущий объект списка в этот массив.

Или, на самом деле, я бы, вероятно, хотел бы создать новый файл класса с именем Notes, в котором будут храниться 3 переменные, которые у вас есть: ndate, eid, cdate, а затем создать для них getter / setters. Затем я бы в цикле while (rs.next) вызвал новый экземпляр класса Notes, устанавливая каждое значение с помощью созданного мной метода setter, а затем добавляя его в список List Array, который я создал.

public class Notes{

Date ndate;
String Title;
Date cdate;
int eid;

//create getter methods
//create setter methods
}

Теперь класс CnmsDes

public class CnmsDes extends HttpServlet{
    public void doPost.......{List list=new ArrayList();
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        System.out.println("Oracle Connect Example.");
        Connection conn = null;
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String driver = "oracle.jdbc.driver.OracleDriver";
        String userName = "system"; 
        String password = "mint";
        Statement st;
        try {
            Class.forName(driver).newInstance();
            conn = DriverManager.getConnection(url,userName,password);
            System.out.println("Connected to the database");

            String  ndate  = request.getParameter("date");
            String  eid  = request.getParameter("empid");
            String strar[] = ndate.split("/");
            String cdate = strar[0]+"/" + strar[1]+"/"+ strar[2];
            if(eid==null||eid=="Enter Your Employee ID"){response.sendRedirect("viewnotes.jsp");}
            String query = "select * from CNMS_NOTES where emp_id='"+eid+"' and note_date='"+cdate+"'";

            Statement stmt=conn.createStatement();
            ResultSet rs=stmt.executeQuery(query);

            List<Notes> notesList = new ArrayList<Notes>();
            while(rs.next()){
                Notes myNotes = new Notes;
                myNotes.setNdate(rs.getDate("note_date"));
                myNotes.setTitle(rs.getString("title"));
                //you get the idea
                notesList.add(myNotes);
            }

        }
        catch(Exception e){out.print(e);}
        request.setAttribute("description",list);
        RequestDispatcher rd = request.getRequestDispatcher("/displaynotes.jsp");
        rd.forward(request, response);
    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...