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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> <html:select> не могу разобраться, проблема с добавлением элементов 
V
    Опции темы
Vassik
Дата 20.5.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Привет все)

В общем такая проблема, не могу правильно подсунуть коллекцию для тега <html:select>.
Описываю, что происходит, есть у меня jsp страничка на которой в таблице представлен некий список, есть линка Edit после ее нажатия, я должен попасть на следующую страницу, которая содержит те же поля, но теперь в виде формы, чтобы можно было редактировать. В линке Edit у меня передаются всякие идентификаторы, чтобы необходимые данные можно было выбрать и заполнить поля формы. И на одной из строчке у меня ComboBox, который надо заполнить, некоторыми значениями выбранными из БД, вот с ним то и проблема, ексепшен вылетает, а теперь по шагам: 
Значит после нажатия на линку Edit, срабатывает вот такой вот ActionClass
 
Код

public class LecturerInfEditAction extends Action {
    
    /* forward name="success" path="" */
    private final static String SUCCESS = "success";

public ActionForward execute(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        int id=Integer.parseInt(request.getParameter("id"));
        int htit_id=Integer.parseInt(request.getParameter("htit"));
        HttpSession session=request.getSession();
        LecturerDAO lDAO=(LecturerDAO) session.getAttribute("connection");
        try{
            LecturerInfBean lEnfBean=new LecturerInfBean();  
            lEnfBean=lDAO.getLecturerById(id);
            ArrayList list=new ArrayList();
            list=lDAO.getLecturersHtit(htit_id);      
            request.setAttribute("lecturersHtit",list);
            request.setAttribute("lecturersInf",lEnfBean);
        }catch(SQLException ex){
            return mapping.findForward("failed");
        };
        return mapping.findForward(SUCCESS);
    }
}


в переменную list мы как раз возвращаем, список объектов, которые я хочу в combobox запузырить, в векторе находятся объекты вот такого бина
Код

public class DataSubFaculBean {
    private int id;
    private String name;
    public int getId(){
        return id;
    }
    public String getName(){
        return name;
    }
    public void setId(int id){
        this.id=id;
    }
    public void setName(String name){
        this.name=name;
    }
}


JSP моя выглядит вот таким вот образом
 
Код

<html:form action="save" method="POST" focus="sname">
          <table>
              <tr class="even"><td><bean:message key="lecturer.sname"/></td><td><html:text name="lecturersInf" property="sname"/></td></tr> 
              <tr class="even"><td><bean:message key="lecturer.htit"/></td><td><html:select property="id"><html:optionsCollection property="lecturersHtit" value="id" label="name" /></html:select></td></tr>
        </table>
  </html:form>


ну и он ругается, на то что я пытаюсь делать вот таким вот образом
Код

javax.servlet.ServletException: No getter method available for property id for bean under name org.apache.struts.taglib.html.BEAN
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)


Думал проблема в дом что я пытаюсь подсунуть ему вектор объектов, и он не может пробежаться по этой коллекции, по этому просто пробовал подсунуть один DataSubFaculBean объект, но ексепшен такой же:( Просмотрел примеры, а там в качестве бина, ActionForm используется и вообще не понятно как данные в select попадают, в сесию и реквест не добавляются, может пример просто мутный....

В общем то вопрос как мне правильно подсунуть данные в select ????
PM MAIL   Вверх
BlackD
Дата 21.5.2007, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я делал так:

JSP (register.jsp):
Код

<html:select name="user" property="currentlang">
<html:optionsCollection name="user" property="languages" label="lang" value="lang"/>
</html:select>


struts-config:

Код

<action path="/register" type="action.register.RegisterAction" name="userForm" attribute="user" input="/register.jsp"> 
       <forward name="success" path="/personal.jsp"/>
</action> 



Код

public class UserForm extends ActionForm

 {        
    private String currentlang;
         private String[] lang;

        static Collection languages = new ArrayList();
    static 
    {
        languages.add(new Langs(1, "ru"));
        languages.add(new Langs(2, "en"));
        languages.add(new Langs(3, "by"));
    }
    
...
}



Код

public class Langs implements Serializable
{
    private String lang;
    private int id;
.....
}



это если вместо бина использовать ActionForm. Но принцип должен быть похожим.

PM MAIL   Вверх
Vassik
Дата 21.5.2007, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ведь я по сути вроде тоже делаю, только коллекцию я свою в Action классе(LecturerInfEditAction) создаю, и пихаю ее в request
Код

ArrayList list=new ArrayList();    
list=lDAO.getLecturersHtit(htit_id);       
request.setAttribute("lecturersHtit",list);

, а от туда по человечески забрать не могу:(
Неужели чтобы с select работать, надо обязательно ActionForm юзать? И если тут однозначно ActionForm юзать, то как мне из моего Action класса(LecturerInfEditAction) параметры передать, которые я из реквеста достал.
 
Код

int id=Integer.parseInt(request.getParameter("id"));    
 int htit_id=Integer.parseInt(request.getParameter("htit"));

Чере сессию что ли? Или можно пропихнуть дальше каким нить другим способом, может более гуманным?  smile 
PM MAIL   Вверх
BlackD
Дата 21.5.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

<html:select name="user" property="currentlang">
<html:optionsCollection name="user" property="languages" label="lang" value="lang"/>

user - это имя моего бина (у меня это - ActionForm). Попробуй подставить имя своего.


Код

<html:optionsCollection property="lecturersHtit" value="id" label="name" />

у тебя вообще оно на бин не ссылается.

Цитата

И если тут однозначно ActionForm юзать, то как мне из моего Action класса(LecturerInfEditAction) параметры передать, которые я из реквеста достал.


        
Код

UserForm userForm = (UserForm) form;
        HttpSession session = ((HttpServletRequest)request).getSession();
        String username=(String) session.getAttribute("username");
            
    ArrayList list=new ArrayList();                
    DiskDetails disk=(DiskDetails) session.getAttribute("currentdisk");

        if (disk != null)
        {
        list.add(disk);
        }

    userForm.setpurchasedDisks(list);


UserForm - имя моей ActionForm

Это сообщение отредактировал(а) BlackD - 21.5.2007, 11:51
PM MAIL   Вверх
Vassik
Дата 21.5.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(BlackD @  21.5.2007,  11:45 Найти цитируемый пост)
Разметка HTML1:2:<html:select name="user" property="currentlang"><html:optionsCollection name="user" property="languages" label="lang" value="lang"/>highlightSyntax('html_TFjMDI','html');highlightSyntax('html_TFjMDI','html');user - это имя моего бина (у меня это - ActionForm). Попробуй подставить имя своего.


Какого именно, у меня мои бины хранятся в коллекция. Коллекция это lecturersHtit(это вектор состоящий из объектов вот такого типа DataSubFaculBean ), эту коллекцию я сую в request.

Цитата(BlackD @  21.5.2007,  11:45 Найти цитируемый пост)
      код Java1:2:3:4:5:6:7:8:9:10:11:12:13:UserForm userForm = (UserForm) form;        HttpSession session = ((HttpServletRequest)request).getSession();        String username=(String) session.getAttribute("username");                ArrayList list=new ArrayList();                    DiskDetails disk=(DiskDetails) session.getAttribute("currentdisk");        if (disk != null)        {        list.add(disk);        }    userForm.setpurchasedDisks(list);highlightSyntax('java_FmYzk2','java');highlightSyntax('java_FmYzk2','java');UserForm - имя моей ActionForm


ну я так понимаю этот код выполняется в методе validate, т.е после нажатия на кнопку, тобишь форма должна быть уже заполнена. А у меня как происходит, я жмакая на линку на страницы (обычной JSP страницей, без формы) с линкой связан ActionClass соотвктствующий(LecturerInfEditAction) и там происходит обработка параметров полученных и линки, плюс подготовка коллекции, и переход на страницу с формой, где нужно заполнить поля в том числе и combobox. Так нельзя делать? Если нелзья то это значит, что надо через ActionForm работать, поясните пожалуйста как именно делать?
PM MAIL   Вверх
BlackD
Дата 21.5.2007, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Никакой не validate. В Validate вообще кода серьезного не должно быть.

Код

public class BuyDiskAction extends Action{
    public ActionForward execute(ActionMapping mapping,    
            ActionForm form,    
            HttpServletRequest request,    
            HttpServletResponse response) 
    {
UserForm userForm = (UserForm) form;    
        HttpSession session = ((HttpServletRequest)request).getSession();    
        String username=(String) session.getAttribute("username");    
             
    ArrayList list=new ArrayList();                 
    DiskDetails disk=(DiskDetails) session.getAttribute("currentdisk");    
        if (disk != null)    
        {    
        list.add(disk);    
        }    
    userForm.setpurchasedDisks(list);
}



ActionForm используется не только для получения данных от страницы, но и для отправки данных на страницу. В твоем Action обрабатывай получение параметров из реквеста, запихивай их в ActionForm, потом перенаправляешь на страницу, на которой уже находится тег select. И там используешь ActionForm, как бин (в struts-config описываешь).

P.S. Если непонятно или не получится, выложу пример(пользователь попадает на страницу(не через действие, напрямую), там ему предлагается выбор языка интерфейса через тег select.)


Это сообщение отредактировал(а) BlackD - 21.5.2007, 19:16
PM MAIL   Вверх
Vassik
Дата 21.5.2007, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну приблизительно понятно, но буду признателен, если выложишь пример с комментами, если не сложно smile  Буду чуть попозже разбираться конкретно
PM MAIL   Вверх
BlackD
Дата 21.5.2007, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну что же, в путь. Привожу небольшой кусочек проекта, немного модернизирован под твой случай smile

Как работает: на странице есть ссылка buydisks, при нажатии на нее выполняется действие disks.do

struts-config:
Код

<form-beans>        
    <form-bean name="diskForm" type="disks.utils.DiskForm"/>
</form-beans>

<action path="/disks" type="action.buy.ShowDisksAction" name="diskForm" attribute="disk"> 
       <forward name="success" path="/disks.jsp"/>       
</action> 


Код

public class ShowDisksAction extends Action{
    public ActionForward execute(ActionMapping mapping,    
            ActionForm form,    
            HttpServletRequest request,    
            HttpServletResponse response) 
    {    
            
     DiskForm diskForm=(DiskForm)form; // создаем экземпляр нашего класса ActionForm        
     ActionErrors errors = new ActionErrors();
     ArrayList list=new ArrayList();
    String selectCurrentUserCommand="SELECT * FROM disks join groups on disks.group_id = groups.group_id join descriptions on disks.description_id = descriptions.description_id";         
            ResultSet rs=DbAction.ExecuteQuery(selectCurrentUserCommand);
            try {
                while (rs.next())
                {
                    DiskDetails disk=new DiskDetails();
                    disk.setdiskId(rs.getInt("disk_id"));
                    disk.setdiskName(rs.getString("disk_name"));
                    disk.setgroup(rs.getString("group_name"));
                    disk.setprice(rs.getInt("price"));
                    disk.setdescription(rs.getString("description"));
                    list.add(disk); //заполняем ArrayList экземплярами класса (в твоем случае - это твои бины)
                }           
                diskForm.setdisks(list); //запихиваем коллекцию в переменную disks нашей ActionForm                      
                return mapping.findForward("success"); //переходим на страницу, где нужно вывести бины выпадающим списком
            }
                catch(Exception e)
                {
                    errors.add("userName", new ActionMessage("userRegistration.global.problem"));
                    saveErrors(request,errors);
                    return(new ActionForward(mapping.getInput()));
                }    
        
      }            
}


А вот наш ActionForm (DiskForm):
Код

public class DiskForm extends ActionForm {
        
    private ArrayList disks; // та переменная, в которую мы запихивали коллекцию
    private String diskName;
   
    //тут идут стандартные геттер и сеттер методы, ничего необычного.
        
}


Вот класс, экземпляры которого заносятся в коллекцию:

Код

public class DiskDetails {
    
    private int diskId;
    private String diskName;
    private String group;
    private String description;
    private int price;

    //тут идут стандартные геттер и сеттер методы, ничего необычного.

}


Теперь обратим внимание на страницу disks.jsp, куда происходит перенаправление после выполнения ShowDisksAction

Код

<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>

<html>
<head>
<title>
products page
</title>
</head>
<body>

<html:select name="disk" property="diskName">
<html:optionsCollection name="disk" property="disks" label="diskName" value="diskName"/>
</html:select>

</body>
</html>

name="disk" - пишем имя бина ActionForm(маппится в struts-config)
property="diskName" - сода запишется выбранное значение (бин ActionForm должен иметь такую переменную и методы доступа к ней)
html:optionsCollection name="disk" - имя бина ActionForm, в котором находится коллекция обьектов, подлежащих выводу.
property="disks" - собственно, сама коллекция
label="diskName" - что писать в комбобоксе (переменная не в ActionForm, а уже DiskDetails)
value="diskName" - значение (переменная не в ActionForm, а уже DiskDetails)

вроде все рассказал, пробуй smile
PM MAIL   Вверх
Vassik
Дата 22.5.2007, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Хм... не работает все сделал, так же как у тебя, ActionClass не сробатывает, говрит после нажатия на линку 
Код

HTTP Status 500 - No input attribute for mapping path /infedit

Код

<action path="/infedit"
            type="com.myapp.struts.LecturerEditAction"
            name="lectForm"
            attribute="lecturersList">
            <forward name="success" path="/lecturerEdit.jsp"/>
 </action>

разумеется, если input поставить то будет произведена попытка перейти на эту страницу. Так что ActionClass не сробатывает(com.myapp.struts.LecturerEditAction). На сколько я помню, во всех примерах, когда action описывается и когда в теги есть ActionForm, т.е. атрибут name, то управление передается ему, а потом уж ActionClassу соответствующему. А логика точно такая же как у тебя

Код

public class LecturerEditAction extends Action {
   
    private final static String SUCCESS = "success";
    
    public ActionForward execute(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        LecturerEditActionForm lectForm=(LecturerEditActionForm)form;          
        ActionErrors errors = new ActionErrors();
        int id=Integer.parseInt(request.getParameter("id"));
        int htit_id=Integer.parseInt(request.getParameter("htit"));
        HttpSession session=request.getSession();
        LecturerDAO lDAO=(LecturerDAO) session.getAttribute("connection");
        try{
            LecturerInfBean lEnfBean=new LecturerInfBean();  
            lEnfBean=lDAO.getLecturerById(id);
            ArrayList list=new ArrayList();
            list=lDAO.getLecturersHtit(htit_id);
            lectForm.setListHtit(list);
            lectForm.setLInfBean(lEnfBean);
        }catch(SQLException ex){
            return mapping.findForward("failed");
        };
        return mapping.findForward(SUCCESS);
    }
}


Код

public class LecturerEditActionForm extends org.apache.struts.action.ActionForm {
    
    private String name;
    private ArrayList listHtit;
    private LecturerInfBean lInfBean;
    private int number;
    
    public ArrayList getListHtit(){
        return this.listHtit;
    }
    public void setListHtit(ArrayList listHtit){
        this.listHtit=listHtit;
    }
    public LecturerInfBean getLInfBean(){
        return this.lInfBean;
    }
    public void setLInfBean(LecturerInfBean lInfBean){
        this.lInfBean=lInfBean;
    }
......
}



 
Код

     <html:form action="save" method="POST">
          <table>
              <tr class="even"><td><bean:message key="lecturer.htit"/></td><td><html:select name="lecturersList" property="id"><html:optionsCollection name="lecturersList" property="listHtit" value="id" label="name" /></html:select></td></tr>
              <tr class="odd"><td><bean:message key="lecturer.gl_pl"/></td><td><html:submit property="submit" value="Submit"/></td></tr>
        </table>
    </html:form>

PM MAIL   Вверх
BlackD
Дата 22.5.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

<form-beans>         
    <form-bean name="diskForm" type="disks.utils.DiskForm"/>    
</form-beans>


А ты описал бин ActionForm?


Вечером посмотрю поподробнее, сейчас просто уходить нужно.


<html:link action="disks">Buy disks</html:link>
линк так выглядит?

Это сообщение отредактировал(а) BlackD - 22.5.2007, 11:46
PM MAIL   Вверх
Vassik
Дата 22.5.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Конечно, ActionForm у меня LecturerEditActionForm и в struts-config.xml тоже описал
Код

<form-beans type="org.apache.struts.action.ActionFormBean">
    <form-bean name="lectForm" type="com.myapp.LecturerEditActionForm" />
</form-beans>
.......
<action path="/infedit"
            type="com.myapp.struts.LecturerEditAction"
            name="lectForm"
            attribute="lecturersList">
            <forward name="success" path="/lecturerEdit.jsp"/>
 </action>

PM MAIL   Вверх
BlackD
Дата 22.5.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



все-таки мне кажется, что линк у тебя выглядит не так:
Код

<html:link action="disks">Buy disks</html:link>


У меня работает smile


кстати, у меня не так, как у тебя.
Код

<html:select name="lecturersList" property="id">
 
 в твоей ActionForm нет переменной id
PM MAIL   Вверх
Vassik
Дата 22.5.2007, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(BlackD @  22.5.2007,  16:27 Найти цитируемый пост)
все-таки мне кажется, что линк у тебя выглядит не так:Разметка HTML1:<html:link action="disks">Buy disks</html:link>

Линка у меня выглядит вот так вот 
Код

<html:link page="infedit" name="map">



В map у меня хранятся параметры, которые включаются в линку, кстати, когда я делаю как у тебя то этот map приходиться в сессию пихать, а вообще map у меня в реквесте до этого был
Цитата(BlackD @  22.5.2007,  16:27 Найти цитируемый пост)
кстати, у меня не так, как у тебя.Разметка HTML1:<html:select name="lecturersList" property="id">highlightSyntax('html_ZjhjMm','html');highlightSyntax('html_ZjhjMm','html');  в твоей ActionForm нет переменной id


ну да, это мой баг, но фишка в том что ActionClass не срабатывает LecturerEditAction, сначала же он должен отработать, так? а потом ActionForm?

Когда такой экшен
Код

<action path="/infedit"
            type="com.myapp.struts.LecturerEditAction"
            name="lectForm"
            attribute="lecturersList">
            <forward name="success" path="/lecturerEdit.jsp"/>
 </action>


Он просит input указать
Код

HTTP Status 500 - No input attribute for mapping path /infedit


А если в качестве инпута указать, ту страницу на которой линка, то при нажатии на линку браузер на ней и остается

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


Новичок



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

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



Цитата

ну да, это мой баг, но фишка в том что ActionClass не срабатывает LecturerEditAction, сначала же он должен отработать, так? а потом ActionForm?

наоборот. Сначала ActionForm. Затем Action.
input attribute нужен для того, чтобы при непрохождении метода Validate(определяется в твоем ActionForm) вернутся на начальную страницу. Ну и для
 
Код

return(new ActionForward(mapping.getInput()));




<html:link page="infedit" name="map">
Почему page? Ты не на страницу же должен переходить, а на действие. И только потом на страницу. То бишь 
Код

<html:link action="infedit"/>

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


Шустрый
*


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

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



Все сделал, спасибоsmile
PM MAIL   Вверх
BlackD
Дата 22.5.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пожалуйста smile А в чем ошибка была?

<html:link action="infedit"/>
??
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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