Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / ajax и jsp / 14 сообщений из 14, страница 1 из 1
04.04.2015, 20:28
    #38927126
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
ребять подскажите пожалуйста правильно ли я делаю? т.к. мне самому не совсем нравиться...

servlet:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        
        out.println("Рег. номер:<b> " +abit.getIdabiturient()+"</b> <br/>");
        out.println("Фамилия:<b> " +abit.getLastName()+"</b> <br/>");
        out.println("Имя:<b> " +abit.getFirstName()+"</b> <br/>");
        out.println("Отчество:<b> " +abit.getPatronymic()+"</b> <br/>");
        out.println("Паспорт С/Н:<b> " +abit.getPassportSN()+"</b> <br/>");
        out.println("Дата рождения:<b> " +abit.getBirthDay()+"</b> <br/>");
        out.println("Дата регистрации:<b> " +abit.getCurrentData()+"</b> <br/>");
        out.println("Специальность:<b> " +abit.getGroups().getShortName()+"</b> <br/>");
        out.println("Оператор:<b> " +abit.getUsers().getLogin()+"</b> <br/>");
        out.println("Изменить: <a href=abiturientedit?id="+abit.getIdabiturient()+">edit</a><br/>");
        out.println("Сформировать PDF: <a href=report?id="+abit.getIdabiturient()+">PDF</a><br/>");



JSP:
Код: html
1.
2.
3.
        <input type="text" id="passSN"/>         
        <button id="find">find</button>
        <p id="getVal"/>



JS:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$(document).ready(function () {
    $("#find").click(function () {
        var passSN = $("#passSN").val();
        $.post("findabit", 
        {
            passportSN : passSN
        },
        function (data) {
            $("#getVal").html(data);
        });
    });
});



не судите строго пожалуйста!
...
Рейтинг: 0 / 0
04.04.2015, 20:34
    #38927131
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Музаффар
Код: java
1.
println


попробуй без этого
...
Рейтинг: 0 / 0
04.04.2015, 21:01
    #38927152
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Petro123,
прошу прошения, можете поконкретнее?
...
Рейтинг: 0 / 0
04.04.2015, 21:22
    #38927158
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Музаффар,
я не в курсе твоей задачи.
В общем виде делаем HTML, потом для вставки в него данных из БД меняем его на JSP.
JS и AJAX по вкусу в крайнем случае (можно простым submit обойтись).
Сервлет только запись в БД.
...
Рейтинг: 0 / 0
04.04.2015, 21:34
    #38927161
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Petro123,
авторкрайнем случае (можно простым submit обойтись).
в начале так и было но в этом случае страница полностью перезагружается а мне как бы это не совсем и по этому решил асинхронно передать параметры поиска и заполучить ответ
но правильно ли передать таким способом т.е. я в сервлете рисую/пишу html теги...

просто другом месте надо уже таблицу с данными передать....

с JSON'ом не совсем знаком ну еси честно то и с JS/AJAX'ом тоже :) по этому такие вопросы.
...
Рейтинг: 0 / 0
04.04.2015, 22:51
    #38927186
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Музаффарполностью перезагружается а мне как бы это не совсем
я бы забил.
...
Рейтинг: 0 / 0
04.04.2015, 22:54
    #38927190
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Музаффарс JSON'ом не совсем знаком ну еси честно то и с JS/AJAX'ом тоже :) по этому такие вопросы.
тогда делай как есть.
Лучше поступательно))
Удачи!
...
Рейтинг: 0 / 0
05.04.2015, 02:13
    #38927250
organism
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Музаффарребять подскажите пожалуйста правильно ли я делаю? т.к. мне самому не совсем нравиться...

Согласен, полная какашка.

Если вы уж заюзали jsp, то продолжайте и дальше.

Вместо генерации html-разметки в коде, создайте jsp страницу (кусок страницы) с результатами поиска.

Передавайте в сервлете вашу модель данных в jsp страницу примерно так:

Код: java
1.
2.
request.setAttribute("abit", abit);
request.getRequestDispatcher("/WEB-INF/searchResults.jsp").forward(request, response);



Ну и дальше уже jsp будет выглядеть примерно так (читать про JSP Expression Language):

Код: html
1.
2.
3.
4.
5.
6.
<div>
Рег. номер:<b>${abit.idabiturient}</b> <br/>
Фамилия:<b>${abit.lastName}</b> <br/>
...
...
</div>



Еще неплохо бы прикрутить jstl к проекту, чтоб избавится от убогих скриптлетов в jsp.
...
Рейтинг: 0 / 0
05.04.2015, 04:49
    #38927260
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
organism,
:) я же говорю что у меня по началу так и было...
но по некоторым причинам мне надо асинхронно все это дело происходил:
1) без перезагрузки страницы т.к. у меня форма поиска находится в аккордеоне а после перезагрузки стр., аккордеон получает исходное положения а в исходном положении другая инфа...
2) на другом месте надо сделать ещё один асинхронный запрос который получает уже таблицу с данными по выбору группы во выпадающем списке...

или хотя бы ссылку где есть пример...
...
Рейтинг: 0 / 0
05.04.2015, 04:52
    #38927261
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Petro123тогда делай как есть.
Лучше поступательно))
Удачи!
удачи пригодиться, спасибо!
просто изначально хочется сделать более менее правильно... :)
...
Рейтинг: 0 / 0
05.04.2015, 07:48
    #38927269
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Музаффарили хотя бы ссылку где есть пример...
у тебя тут нет Java. На форум JS.
...
Рейтинг: 0 / 0
05.04.2015, 10:51
    #38927295
organism
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
авторно по некоторым причинам мне надо асинхронно все это дело происходил:
1) без перезагрузки страницы т.к. у меня форма поиска находится в аккордеоне а после перезагрузки стр., аккордеон получает исходное положения а в исходном положении другая инфа...

И что? Какая разница как вы будете дергать ваш сервлет? Пофигу асинхронно или нет. Все то же самое. Ничего не меняется. Если у вас js верный, вызываете ваш сервлет, передаете ему параметр поиска, он вам возвращает html с результатами, вы его вставляете в DOM. Все перкрасно должно работать без перезагрузки страницы.
...
Рейтинг: 0 / 0
07.04.2015, 14:01
    #38929237
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Музаффар, ну что Вы в самом деле.
То что Вы хотите сделать гуглится в 3 минуты и на выхлопе получаем следующее:
JSP / HTML страница
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
	<script src="js/libs/jquery/jquery.js" type="text/javascript"></script>
    </head>
    <body>
        <h1>Hello World!</h1>
	<input type="button" onclick="getTable()" value="Get Table">&nbsp;&nbsp;&nbsp;<input type="button" onclick="cleanTable()" value="Clean Table">
	


	<table id="dataTable">
	</table>

	<script type="text/javascript">
	    function getTable() {
		cleanTable();
		$('#dataTable').append('<tr><th>ID</th><th>Description</th></tr>');
		$.getJSON(
			'gettable',
			function (data) {
			    $.each(data, function (i, item) {
				$('#dataTable').append('<tr><td>' + item.ID + '</td><td>' + item.description + '</td></tr>');
			    });
			}
		);
	    }

	    function cleanTable() {
		$('#dataTable').empty();
	    }
	</script>
    </body>
</html>


Сервлет
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.akusoft.jsontabtest;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONSerializer;

/**
 *
 * @author akuznetsov
 */
@WebServlet(name = "gettable", urlPatterns = {"/gettable"})
public class TableServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
	    throws ServletException, IOException {
	response.setContentType("application/json");
	response.setCharacterEncoding("UTF-8");
	ArrayList<TableRow> tableRows = new ArrayList<>();
	for(int i = 1;i<=10;i++){
	    tableRows.add(new TableRow(Integer.toString(i),"Description "+i));
	}
	try (PrintWriter out = response.getWriter()) {
	    out.write(JSONSerializer.toJSON(tableRows).toString());
	}
	tableRows.clear();
	tableRows = null;
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
	    throws ServletException, IOException {
	processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
	    throws ServletException, IOException {
	processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
	return "Short description";
    }// </editor-fold>

}



Класс возвращаемой строки
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.akusoft.jsontabtest;

/**
 *
 * @author akuznetsov
 */
public class TableRow {

    private String id;

    private String description;

    public TableRow() {
    }

    public TableRow(String rowID, String description) {
	this.id = rowID;
	this.description = description;
    }
      

    /**
     * Get the value of description
     *
     * @return the value of description
     */
    public String getDescription() {
	return description;
    }

    /**
     * Set the value of description
     *
     * @param description new value of description
     */
    public void setDescription(String description) {
	this.description = description;
    }

    public String getID() {
	return id;
    }

    public void setID(String rowID) {
	this.id = rowID;
    }

}


...
Рейтинг: 0 / 0
09.04.2015, 19:07
    #38932391
Музаффар
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax и jsp
Здравстувйте Alex Kuznetsov,
спасибо!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / ajax и jsp / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]