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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring, взаимодействие servlet & jsp 
:(
    Опции темы
sergioK
Дата 29.11.2009, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

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



имееться простой контролер 
Код

package pricing;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.view.RedirectView;

import springapp.service.Price;
import springapp.service.PriceIncrease;


public class ChangePriceController  extends SimpleFormController {//implements Controller {
 
    private double discount;
    
    public double getDiscount() {
        return discount;
    }
    public void setDiscount(double discount) {
        this.discount = discount;
    }
        
      public ModelAndView onSubmit(Object command)
      throws ServletException {
       System.out.println(" form view "+super.getFormView());
          double discount = ((Price) command).getDiscount();
        
  logger.info(" 222222  returning from PriceIncreaseForm view to " + getSuccessView());
    
  return new ModelAndView(new RedirectView(getSuccessView()));
} 
    protected Object formBackingObject(HttpServletRequest request) throws ServletException {
        Price price = new Price();
        price.setBudget(1000);
        request.getSession().setAttribute("budget",price.getBudget());
        price.setDiscount(12.5);
    
        return price;
    }

}
 


 и есть jsp [code=java]
<%@ include file="/WEB-INF/jsp/include.jsp" %>
<%@ taglib prefix="widget" uri="http://www.springframework.org/tags/form" %>

<html>
  <head><title><fmt:message key="tittle"/></title></head>
  <body>
 
  
   <div style="background: gray">
    <h3><fmt:message key="heading"/></h3>
    <p><fmt:message key="greeting"/> <c:out value="${model.now}"/></p>
    </div>
    
     <a href="<c:url value="page.htm"/>">Back</a>
    <h3>Products</h3>
  
    <br>
   
          <widget:input path="discount"/>
       
          <c:out value="11"></c:out>
          <c:out value="${discount}"> </c:out>
           <c:out value="22"></c:out>
     
  <br>
  <input type="submit" align="center" value="Execute">

    <c:out value="${price.budget}"></c:out>
    
    <br>
   
   <br>
     <c:out value="22"></c:out>
    <a href="<c:url value="page.htm"/>">Back</a>
    <br>
  </body>

 и конфигурация 
Код

  
     <bean name="/changePrices.htm" class="pricing.ChangePriceController">
       <property name="discount" value="10.0"></property>
        <property name="commandName" value="changePrices"/>
        <property name="commandClass" value="springapp.service.Price"/>
        <property name="formView" value="page"/>
        <property name="successView" value="page.htm"/>
    </bean>


 код бина 
Код

package springapp.service;

public class Price {
    private double price;
    private double discount;
    private double budget;
    public void setPrice(double price) {
        this.price = price;
    }
    public double getPrice() {
        return price;
    }
    public void setDiscount(double discount) {
        this.discount = discount;
    }
    public double getDiscount() {
        return discount;
    }
    public void setBudget(double budget) {
        this.budget = budget;
    }
    public double getBudget() {
        return budget;
    }

}


 вопрос тривиальный 
 как собсвенно передать параметер budget из сервлета в jsp , ? или любой другой параметер 



PM MAIL   Вверх
garbuz
Дата 29.11.2009, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

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



Объект, который создается в методе formBackingObject, передается на страницу и вы можете достучаться до всех его свойств.
Есть еще метод referenceData, который предназначен для передачи доп данных на страницу.
PM MAIL   Вверх
sergioK
Дата 5.12.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

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



Цитата(garbuz @ 29.11.2009,  20:55)
Объект, который создается в методе formBackingObject, передается на страницу и вы можете достучаться до всех его свойств.
Есть еще метод referenceData, который предназначен для передачи доп данных на страницу.


Я могу достучатся если пользую  <c:out value="${price.discount}"></c:out>     или    если внутри формы <widget:input path="percentage"/>   ,
а если я пользую обычный HTML или какие то другие тэги ?
можно пример с reference data ?

Это сообщение отредактировал(а) sergioK - 5.12.2009, 22:44
PM MAIL   Вверх
acvilon
  Дата 9.12.2009, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 16.4.2007
Где: Spb

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



Ну и вопросики у вас. Кладешь в реквест параметр и на jsp из реквеста достаешь параметр. Не вижу никаких сложностей!
PM MAIL ICQ   Вверх
sergioK
Дата 9.12.2009, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

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



Цитата(acvilon @ 9.12.2009,  20:10)
Ну и вопросики у вас. Кладешь в реквест параметр и на jsp из реквеста достаешь параметр. Не вижу никаких сложностей!

Я разве сказал что есть сложности ?  то что вы говорите делается без помощи spring , так вопрос у меня как это делать имеено 
с spring 
  а точнее с его библиотекой тэгов и когда этим есть смысл пользоваться ?то что в нем уже вшита обработка exception - понятно 


Это сообщение отредактировал(а) sergioK - 9.12.2009, 20:27
PM MAIL   Вверх
garbuz
Дата 9.12.2009, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

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



Цитата(sergioK @  5.12.2009,  21:27 Найти цитируемый пост)
можно пример с reference data ?

Код

 @Override
    protected Map referenceData(HttpServletRequest request) throws Exception {
        // retrieving page data
        HashMap<String, Object> model = new HashMap<String, Object>();
        List<Order> orders = orderService.getAll();
        model.put("orders", orders);
        return model;
    }


Код

 <c:forEach items="${orders}" var="o">
            <tr>
                <td><c:out value="${o.cpu}"/> GHz</td>
                <td><c:out value="${o.hdd}"/> Gb</td>
                <td><c:out value="${o.ram}"/> Gb</td>
                <td><c:out value="${o.startDate}"/> - <c:out value="${o.finishDate}"/></td>
                <td><c:out value="${o.description}"/></td>
                <c:set var="statusName" value="${o.status.statusName}"/>
                <td                                                           
                        <c:if test="${statusName eq 'submitted'}"><c:out value="class=submitted"/></c:if>
                        <c:if test="${statusName eq 'in_progress'}"><c:out value="class=in_progress"/></c:if>
                        <c:if test="${statusName eq 'approved'}"><c:out value="class=approved"/></c:if>
                        <c:if test="${statusName eq 'declined'}"><c:out value="class=declined"/></c:if>
                        >
                    <c:out value="${o.status.alias}"/></td>


                <c:set var="editValue" value="/orders.htm"/>
                <c:set var="deleteValue" value="/orders.htm"/>

                <c:url var="editUrl" value="${editValue}">
                    <c:param name="action" value="edit"/>
                    <c:param name="orderId" value="${o.orderId}"/>
                </c:url>
                <c:url var="deleteUrl" value="${deleteValue}">
                    <c:param name="action" value="delete"/>
                    <c:param name="orderId" value="${o.orderId}"/>
                </c:url>
                <td><a href="${editUrl}">Edit</a></td>
                <td><a href="${deleteUrl}">Delete</a></td>
            </tr>
        </c:forEach>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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