Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / jsp, передать параметр в метод / 5 сообщений из 5, страница 1 из 1
29.03.2013, 16:39:23
    #38204597
breath
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsp, передать параметр в метод
такой jsp
...

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<%
List<DocTypeParam> params = db.getParamsByTypeId(typeId);
%>

<%!
  public List getSelectData(sql) {
....
....
  }
%>

<c:forEach var="par" items="<%=params%>">

   <c:forEach var="p" items="<%=getSelectData(par.sql)%>">
     ...
    </c:forEach> 

</c:forEach>



как передать в getSelectData значение из par.sql ?
пробовал, не работает.
items="<%=getSelectData( par.sql )%>"
items="<%=getSelectData(${par.sql})%>
спасибо
...
Рейтинг: 0 / 0
29.03.2013, 16:41:06
    #38204608
breath
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsp, передать параметр в метод
breath,

sql это просто sql, болдом хотел выделить
...
Рейтинг: 0 / 0
29.03.2013, 16:51:03
    #38204639
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsp, передать параметр в метод
Извините, что ответ не по теме. Но вам стоило бы сильнее разделить логику и "представление". Скриптлеты это моветон.
HTML, EL и JSTL это всё что должно быть на JSP странице. Остальное в классах, которые JSP может использовать.
...
Рейтинг: 0 / 0
29.03.2013, 16:59:49
    #38204667
breath
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsp, передать параметр в метод
эта jsp только для формирования нужных динамических формочек и отправки на сервак нужных пар-ов для создания разных отчетов,
вот как выглядит, мне кажется резлять тут нечего

Код: 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.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ page import="java.util.List" %>
<%@ page import="webServices.RESTful.jsonObject.DocTypeParam" %>
<%@ page import="db.DocumentDB" %>
<%@ page import="javax.naming.InitialContext" %>
<%@ page import="webServices.RESTful.BaseHttpService" %>
<%@ page import="model.BaseModel" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
  DocumentDB db = null;
  Long typeId;
  try {
    db = (DocumentDB) new InitialContext().lookup(BaseHttpService.EJB_PATH + DocumentDB.class.getSimpleName());
    typeId = Long.parseLong(request.getParameter("id"));
  } catch (Exception e) {
    typeId = -1L;
  }
  List<BaseModel> selectOptList;
  List<DocTypeParam> params = db.getParamsByTypeId(typeId);
%>

<%!
  public List getSelectData() {
    List<BaseModel> ret = new ArrayList();
    //todo get data from DB 
    return ret;
  }
%>

<script type="text/javascript">
  function reportQuery() {
    var url = 'services/restful/document/';
    var params = "";
    $('#paramForm :input').each(function () {
      params = params + $(this).attr('name') + ':' + $(this).val() + ';';
    });
    url = url + <%= typeId%> +'?params=' + params;
    $('#repLink').attr('href', url);
    //console.log(url);
  }
</script>

<form id="paramForm" action="#" title="<%=typeId%>">
  <div>
    <p>
      <c:forEach var="par" items="<%=params%>">
        <c:choose>
          <c:when test="${par.sql == null}">
            <label>
                ${par.screenName}
              <input name="${par.name}" type="${par.type}" title="${par.childName}"/>
            </label>
            <br/>
          </c:when>
          <c:otherwise>
            <c:choose>
              <c:when test="${par.childName == null}">
                <c:forEach var="p" items="<%=getSelectData(${par.sql})%>">
                  <c:set scope="page" property="sql" value="${par.sql}"/>
                </c:forEach>
              </c:when>
              <c:otherwise>
                <label>
                    ${par.screenName}
                  <select name="${par.name}" title="${par.childName}">
                    <option value=""></option>
                  </select>
                </label>
                <br/>
              </c:otherwise>
            </c:choose>
          </c:otherwise>
        </c:choose>
      </c:forEach>
    </p>
  </div>
</form>
<a id="repLink" href="" onclick="reportQuery()">создать</a>
...
Рейтинг: 0 / 0
01.04.2013, 18:48:28
    #38207856
breath
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsp, передать параметр в метод
вобщем передал через pageContext, может кому понадобится похожий функционал;

Код: 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.
88.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ page import="java.util.List" %>
<%@ page import="webServices.RESTful.jsonObject.DocTypeParam" %>
<%@ page import="db.DocumentDB" %>
<%@ page import="javax.naming.InitialContext" %>
<%@ page import="webServices.RESTful.BaseHttpService" %>
<%@ page import="security.Session" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
  Long accountId = ((Session) request.getSession().getAttribute(BaseHttpService.SESSION)).getAccount().getId();
  DocumentDB db = null;
  Long typeId;
  try {
    db = (DocumentDB) new InitialContext().lookup(BaseHttpService.EJB_PATH + DocumentDB.class.getSimpleName());
    typeId = Long.parseLong(request.getParameter("id"));
  } catch (Exception e) {
    typeId = -1L;
  }
  pageContext.setAttribute("db", db);
  List<DocTypeParam> params = db.getParamsByTypeId(typeId);
%>

<!--script type="text/javascript">
function reportQuery() {
var url = 'services/restful/document/';
var params = "";
$('#paramForm :input').each(function () {
params = params + $(this).attr('name') + ':' + $(this).val() + ';';
});
url = url + <%= typeId%> +'?params=' + params;
$('#repLink').attr('href', url);
//console.log(url);
}
</script-->

<c:choose>
  <c:when test="<%= -1 != accountId%>">
    <form id="paramForm" action="#" title="<%=typeId%>">
      <div>
        <p>
          <c:forEach var="par" items="<%=params%>">
            <c:choose>
              <c:when test="${par.sql == null}">
                <label>
                    ${par.screenName}
                  <input name="${par.name}" type="${par.type}" title="${par.parentName}"/>
                </label>
                <br/>
              </c:when>
              <c:otherwise>
                <c:choose>
                  <c:when test="${par.parentName == null}">
                    <label>
                        ${par.screenName}
                      <select name="name" title="title">
                        <c:set var="sql" scope="page" value="${par.sql}"/>
                        <c:forEach var="p"
                                   items="<%=((DocumentDB)pageContext.getAttribute("db")).getSelectParams((String)pageContext.getAttribute("sql"), accountId)%>">
                          <option value="${p.id}">${p.name}</option>
                        </c:forEach>
                      </select>
                    </label>
                    <br/>
                  </c:when>
                  <c:otherwise>
                    <label>
                        ${par.screenName}
                      <select name="${par.name}" title="${par.parentName}">
                        <option value="-1">required do request to fill this</option>
                      </select>
                    </label>
                    <br/>
                  </c:otherwise>
                </c:choose>
              </c:otherwise>
            </c:choose>
          </c:forEach>
        </p>
      </div>
    </form>
    <a id="repLink" href="" onclick="reportQuery()">создать</a>
  </c:when>
  <c:otherwise>
    {-1:access denied}
  </c:otherwise>
</c:choose>
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / jsp, передать параметр в метод / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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