Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate save() в таблице html, Hibernate save() в таблице html 
:(
    Опции темы
skif18
Дата 19.7.2011, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 1



Код

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="EditTable.js"></script> 
<style type="text/css">
.even {
    background-color: silver;
}
</style>
<title>Registration Page</title>
</head>
<body>

<form:form action="add.htm" commandName="user">
    <table>
        <tr>
            <td>User Name :</td>
            <td><form:input path="name" /></td>
        </tr>
        <tr>
            <td>Password :</td>
            <td><form:password path="password" /></td>
        </tr>
        <tr>
            <td>Gender :</td>
            <td><form:radiobutton path="gender" value="M" label="M" /> <form:radiobutton
                path="gender" value="F" label="F" /></td>
        </tr>
        <tr>
            <td>Country :</td>
            <td><form:select path="country">
                <form:option value="0" label="Select" />
                <form:option value="India" label="India" />
                <form:option value="USA" label="USA" />
                <form:option value="UK" label="UK" />
            </form:select></td>
        </tr>
        <tr>
            <td>About you :</td>
            <td><form:textarea path="aboutYou" /></td>
        </tr>
        <tr>
            <td>Community :</td>
            <td><form:checkbox path="community" value="Spring"
                label="Spring" /> <form:checkbox path="community" value="Hibernate"
                label="Hibernate" /> <form:checkbox path="community" value="Struts"
                label="Struts" /></td>
        </tr>
        <tr>
            <td></td>
            <td><form:checkbox path="mailingList"
                label="Would you like to join our mailinglist?" /></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" value="Register"></td>
        </tr>
    </table>
</form:form>
<c:if test="${fn:length(userList) > 0}">
    <table cellpadding="5" class="editable" id="editable">
        <tr class="even">
            <th>Name</th>
            <th>Gender</th>
            <th>Country</th>
            <th>About You</th>
        </tr>
        <c:forEach items="${userList}" var="user" varStatus="status">
            <tr class="<c:if test="${status.count % 2 == 0}">even</c:if>">
                <!--<td>${user.name}</td> 
                <td>${user.gender}</td>
                <td>${user.country}</td>
                <td>${user.aboutYou}</td>
                 -->
                <td><input name="user.name" type="text" id="user.name" value=${user.name}></td>
                <td><input name="user.gender" type="text" id="user.gender" value=${user.gender}></td>
                <td><input name="user.country" type="text" id="user.country" value=${user.country}></td>
                <td><input name="user.aboutYou" type="text" id="user.aboutYou" value=${user.aboutYou}></td>
            </tr>
        </c:forEach>
    </table>
</c:if>

  
    <button id="submit" name="save">
        <b>Apply</b>
    </button>   
</body>
</html>


Как обратиться к методу save() Hibernate? 


Код

import java.util.List;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.AnnotationConfiguration;

import org.springframework.transaction.annotation.Transactional;



import com.vaannila.domain.User;



@Transactional

public class UserDAOImpl implements UserDAO {



    private static final SessionFactory sessionFactory;



    static {

        try {

            // Create the SessionFactory from hibernate.cfg.xml

            sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();

        } catch (Throwable ex) {

            // Make sure you log the exception, as it might be swallowed

            System.err.println("Initial SessionFactory creation failed." + ex);

            throw new ExceptionInInitializerError(ex);

        }

    }

    



    public void setSessionFactory(SessionFactory sessionFactory) {

        

    }



    @Override

    public void saveUser(User user) {

        

        try

        {

        Session sess = sessionFactory.getCurrentSession();

        if (sess == null || !sess.isOpen())

            sess = sessionFactory.openSession();

          Transaction tx = sess.beginTransaction();

          

          sess.saveOrUpdate(user);

          tx.commit();

        }

        catch (Exception ex)

        {

            String errorMessage = "Failed to save the object.";

            throw new RuntimeException(errorMessage, ex);

        }

        


    }

    

    @Override

    @SuppressWarnings("unchecked")

    public List<User> listUser() {

        return null;

        

    }



}





--------------------

PM MAIL ICQ   Вверх
AntonSaburov
Дата 19.7.2011, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Хотелось бы понять - зачем такая весьма странная конструкция ?
Записывать данные внутри JSP страницы - это же полный моветон.
PM MAIL WWW ICQ   Вверх
skif18
Дата 20.7.2011, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 1



хочу сделать на веб странице редактируемую таблицу. реально через Hibernate? Ни чего похожего не нашел... Может что подскажете.


--------------------

PM MAIL ICQ   Вверх
AntonSaburov
Дата 20.7.2011, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



И как хотелось сделать ? С помощью только JSP или Ajax прикручивать будем ?

Если через JSP - то в любом случае надо будет отсылать данные с формы через GET/POST, ловить эти данные в сервлете и записывать.
Чтобы не отсылать всю таблицу наверно надо поиграть с JavaScript, чтобы входить в режим редактирования ячейки и потом отсылать данные только для одной ячейки а не для всей таблицы.

Если через Ajax - вариантов много. Какие-нибудь JavaScript-фрейворки. Или просто GWT использовать. Но это надо изучать.

И у меня складывается впечатление, что нет понимания, что JSP - это в первую очередь сервлет, который выполняется на серверной стороне. И интерактива в броузере она не дает. Там только JavaScript выручит.
PM MAIL WWW ICQ   Вверх
skif18
Дата 20.7.2011, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 1



спасибо за разъяснение. не подскажете где и что можно почитать по теме?


--------------------

PM MAIL ICQ   Вверх
AntonSaburov
Дата 20.7.2011, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Можно посмотреть мои старые статьи на эту тему

http://java-course.ru/students/students.php?name=part7
http://java-course.ru/students/students.php?name=part8
http://java-course.ru/students/students.php?name=part9

А может лучше начать с самого начала.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.