Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблема с параметром Ajax / 3 сообщений из 3, страница 1 из 1
20.03.2008, 14:51
    #35203677
324f4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром Ajax
День дорбый други! Здравы будете!
Опишу свою проблему.
Есть у меня приложение Ajax. В качестве серверной части работает страница JSP, которой и передаются параметры. На клиенте используется бибилиотека prototype.js
На клиенте "подключаю" Ajax следующим образом:


Код: plaintext
1.
2.
3.
4.
5.
6.
........................
<div class="auto_complete" id="steelname"
          style="list-style-type:decimal;margin:0;padding:2px;height:400px;cursor:pointer;overflow: auto;display: table-cell; width: 200px"></div>
     
     <script type="text/javascript">new Ajax.Autocompleter('Filter_Steelname', 'steelname', '<%=request.getContextPath()%>/component/ntmkfilterajaxsteelgrade', {})
     </script> 
..........................

Здесь
Код: plaintext
<%=request.getContextPath()%>/component/ntmkfilterajaxsteelgrade'
- путь к моему компоненту.
Серверная jsp параметр получает следующим образом:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
.................................
String val = "";
	Enumeration e = request.getParameterNames();
	while(e.hasMoreElements()) {
	name = (String) e.nextElement();
		if("_".equals(name))
			continue;		
		val = request.getParameter(name);
.....................................

То есть
Код: plaintext
name
в нашем случае равно
Код: plaintext
Filter_Steelname
В отладке так оно и получается.

Но когда выполняешь проверку типа:

Код: plaintext
1.
2.
if (name.equals("Filter_Steelname"))
{
}
Она не выполняется!!!! То есть параметр
Код: plaintext
name
хоть и равен
Код: plaintext
Filter_Steel
, но не эквивалентен
Код: plaintext
Filter_Steel
.

А вот если поменяешь параметр
Код: plaintext
Filter_Steelname
на другую строку (например
Код: plaintext
Filter_Steel)
то условие выполняется нормально. И так через раз с различными именами параметров...
Кто подскажет, где собака зарыта, почему так происходит?))
Заранее благодарен))
...
Рейтинг: 0 / 0
20.03.2008, 14:58
    #35203709
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром Ajax
Вот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
........................
<div class="auto_complete" id="steelname"
          style="list-style-type:decimal;margin:0;padding:2px;height:400px;cursor:pointer;overflow: auto;display: table-cell; width: 200px"></div>
     
     <script type="text/javascript">new Ajax.Autocompleter('Filter_Steelname', 'steelname', '<%=request.getContextPath()%>/component/ntmkfilterajaxsteelgrade', {})
     </script> 
..........................
клиент получает через AJAX или это был изначальный текст страницы?

На сервере ты используешь не сервлет? Как jsp'ишка может выступать серверной частью?
...
Рейтинг: 0 / 0
21.03.2008, 08:27
    #35205042
324f4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с параметром Ajax
IDVsbruckВот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
........................
<div class="auto_complete" id="steelname"
          style="list-style-type:decimal;margin:0;padding:2px;height:400px;cursor:pointer;overflow: auto;display: table-cell; width: 200px"></div>
     
     <script type="text/javascript">new Ajax.Autocompleter('Filter_Steelname', 'steelname', '<%=request.getContextPath()%>/component/ntmkfilterajaxsteelgrade', {})
     </script> 
..........................
клиент получает через AJAX или это был изначальный текст страницы?

Этот код находится на html/jsp станице, с которой идет запрос на сервер
IDVsbruck
На сервере ты используешь не сервлет? Как jsp'ишка может выступать серверной частью?
Вот так:

Код: plaintext
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.
89.
90.
91.
92.
93.
94.
95.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ page import="com.documentum.fc.client.*,com.documentum.com.*" %>
<%@ page import="com.documentum.web.formext.session.*" %>
<%@ page import="java.util.Enumeration" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


</head>
<body>
<ul class="contacts">
<%

IDfSessionManager sessionManager = null;
IDfSession dfSession = null;
IDfCollection coll = null;
String queryStr=new String();
String name=new String();

try
{
	boolean isNull = false;	
	// get request parameter, don't hardcode to objectName
	// this makes it usable across all our examples
	String val = "";
	Enumeration e = request.getParameterNames();
	while(e.hasMoreElements()) {
	name = (String) e.nextElement();
		if("_".equals(name))
			continue;		
		val = request.getParameter(name);
	}
	

// для справочника марок стали:
if (name.equals("Filter_Steelname"))
{
	queryStr ="select name from database where Upper(ntname) like upper('%" + val
	+ "%') order by  1  asc";
}	

	
	sessionManager = SessionManagerHttpBinding.getSessionManager();
	IDfClientX clientx = new DfClientX();
	//boolean dfc53 = clientx.getDFCVersion().startsWith("5. 3 ");
	String docbase = SessionManagerHttpBinding.getCurrentDocbase();	
	dfSession = sessionManager.getSession(docbase);
	
	// construct query, use DQL hint if 5.3 docbase	
	IDfQuery query = clientx.getQuery();
	
	//System.out.println(queryStr);
	
	// execute query
	query.setDQL(queryStr);
	coll=query.execute(dfSession, IDfQuery.DF_QUERY);
	
	// this limit on row count would only be applicable for pre 5.3 docbases 
	// since we use a limiting DQL hint
	//String cpath = request.getContextPath();
	int rowCount=0;
	//if (coll.)
	//{
		
	//}
	while(coll.next() ) {
		isNull = true;		
%>
		<li class="contact"><%=coll.getString("object_name")%></li>
<%
		rowCount++;
	}
	
	if (isNull == false) {
		  %>
		  <li class="contact" id="none" name="none">Объектов не найдено</li>
		  <%
		  	}	
	
}catch(Exception exc) {
	exc.printStackTrace(System.out);
	out.println(exc);
}
finally
{
	if(coll!=null)
		coll.close();
	if (dfSession != null)
		sessionManager.release(dfSession);
}
%>
</ul>	
</body>
</html>
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблема с параметром Ajax / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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