Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите с сервлетом,уже 2 день сижу

6.0K
11 января 2007 года
bsna
56 / / 28.11.2006
Не могу найти ошибку
в классе поддержки
...
public int doAfterTag() throws JspException {
try {

String body = bodyContent.getString();
buffer = new StringBuffer("<select name='" + name + "'
onChange='this.form.submit()'/> " + body + "</select>");
pageContext.getOut().print(buffer);
} catch (IOException ex) {
throw new JspException(ex.getMessage());
}
return BodyTagSupport.SKIP_BODY;
}
...

сам index.jsp
..
<html:links name='api'>
<option value='Servlets'>servlets</option>
<option value='JSP'>jsp</option>
<option value='Swing'>swing</option>
<option value='JDBC'>JDBC</option>
<option value='JNDI'>JNDI</option>
</html:links>
...



По идее оно должно преобразовывать в

<selecе name='api' onChange='this.form.submit()'>
<option value 'Servlets'>servlets</option>
<option value='JSP'>jsp</option>
<option value='Swing'>swing</option>
<option value='JDBC >JDBC</option>
<option value=' JNDI' >jNDK/option>
<option value 'JavaBeans'>JavaBeans</option>
</select>

и выводить
но почему-то ничего не выводится
16K
11 января 2007 года
WandM
46 / / 13.11.2006
В сервлете ты запихиваешь инфу в контекст страницы, но в index.jsp не вижу, чтобы ты читал инфу из контекста.
Быть может, попробуешь так: <html:links name='api' scope="page"> ??
3.7K
12 января 2007 года
bioflash
169 / / 01.10.2005
Если честно то никогда не встречал такого матода "doAfterTag"!!!
Везде пишет "doAfterBody", возможно в етом причина?!
16K
12 января 2007 года
WandM
46 / / 13.11.2006
Цитата: bioflash
Если честно то никогда не встречал такого матода "doAfterTag"!!!
Везде пишет "doAfterBody", возможно в етом причина?!



Методы doAfterTag, как и doBeforeTag будут, если отнаследоваться от SAX-парсера :) .
Но я вот тут подумал - а зачем тут вообще нужем парсер?!

6.0K
12 января 2007 года
bsna
56 / / 28.11.2006
Вот исходный текст

import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.tagext.*;
public class LinksTag extends BodyTagSupport {
private String name;
private StringBuffer buffer;

public void setName(String name) {
this.name = name;
}
public void setBodyContent(BodyContent bodyOut) {
this.bodyOut = bodyOut;
}
public int doAfterBody() throws JspException {
try {

String body = bodyContent.getString();
buffer = new StringBuffer("<select name='" + name + "' onChange='this.form.submit()'/> " + body + "</select>");
bodyOut.print(buffer.toString());
bodyOut.writeOut(bodyOut.getEnclosingWriter());
} catch (IOException ex) {
throw new JspException(ex.getMessage());
}
return BodyTagSupport.SKIP_BODY;
}
protected BodyContent bodyOut;
}
3.7K
12 января 2007 года
bioflash
169 / / 01.10.2005
Я немного переписал твой код и все работает:

import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;

public class LinksTag extends BodyTagSupport {

private String name;

public String getName() {
return name;
}

public void setName(String value) {
name = value;
}

public int doEndTag() throws JspException {
try {
pageContext.getOut().print("<select name='" + name + "' onChange='this.form.submit()'/> " + bodyContent.getString() + "</select>");
} catch(IOException e) {

}
return BodyTagSupport.EVAL_PAGE;
}
}


Если и ето не заработает, то что-то неверно сделал в tld-файле!!!
6.0K
12 января 2007 года
bsna
56 / / 28.11.2006
спасибо,помогло
6.0K
12 января 2007 года
bsna
56 / / 28.11.2006
Только вопрос один почему тоже самое но doAfterTag не работает а с doEndTag работает
3.7K
12 января 2007 года
bioflash
169 / / 01.10.2005
Во-первих: не "doAfterTag", а "doAfterBody"!!!

Во-вторих: не могу точно сказать почему, нужно детальнее посмотреть и почитать. Извини, но нету времени.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог