2015-03-25 1 views
0

У меня есть требование отправить один параметр через шаблон url сервлета (например, мы отправляем через <a href="example.jsp?id=1">send</a>) так же, как мне это нужно с помощью шаблона url.Передача параметра от jsp до сервлета по шаблону url сервлета

я делаю это с другими возможностями, как

  1. я могу отправить этот параметр как скрытый тип
  2. я могу поставить в запросе и объекты сеанса

эти методы не работают хорошо без проблем

но через url не принимается? Я хочу знать, возможно ли это или нет?

код, который я попробовал

страница JSP

<a href="download?filename=<%=filename%>" target="_blank"> <font color="black"><%=filename%> </font></a> 

сервлет код

String filename=request.getParameter("filename"); 

и я нужен один ответ мы можем передать параметр через шаблон URL, если да, то как? например, через <a href="example?id=1">send</a> или по-другому?

+0

так что же такое фактическое имя файла? Если вы вызываете его в адресной строке браузера, то результат тот же? –

+0

в jsp, что такое значение 'filename' ?? вы также можете использовать JavaScript! – Prashant

+0

здесь filename является строкой, которая динамически изменяется –

ответ

0

Да, вы можете отправить как пробок jsp.

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

+0

спасибо @Mahender Reddy Yasa. Я решил другое заявление, дающее исключение nullpointer. Я удалил его. –

0

Это возможно, но похоже, что ваш браузер очищает параметров после ?... в action="..." атрибут. В этом случае попробуйте передать его через <input type="hidden" .../> как

<form action="sendFileToServlet" method="get"> 
    <input type="hidden" name="filename" value="<%=filename%>"/> 
    <input type="submit" value="Send" /> 
</form> 

фомируют следует добавить их в URL, как ?filename= значения <%=filename%>.

+0

Я знаю эту вещь, и я упомянул об этом в качестве первого способа отправки параметров –

1

Я просто пытаюсь дать вам пример

.jsp ФАЙЛ

<% String filename ="nameofFile.txt"; %> 
<a href="download?filename=<%= filename %>" ></a> 

кода сервлета

String filename = (String)request.getParameter("filename"); 
BufferedReader fir= new BufferedReader(new FileReader(new FileInputStream(filename))); 
PrintWriter out = response.getWriter(); 
while(fir.ready()) 
out.println(fir.readLine()) 

Я думаю, вы получаете пустую страницу, потому что вы не отправляет никакой ответ клиенту, здесь out.println на самом деле отправит ответ клиенту

+0

. @sai kumar –

+0

Я не тестировал его, я считаю, что он должен работать. Я вернусь к вам, когда проведу код – saikumarm

+0

@LogicSystemsJava. Это работает как шарм. – saikumarm

1

Всегда кодируйте URL-адрес. В JSP попробуйте с <c:url> JSTL Tag.

Например

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
... 
<a href='<c:url value="/jsp/index.htm"/>'>TEST</a> 

Read more..

Примечание: Используйте JSTL и EL вместо Scriplets.