Как передать один JSP другому JSP?

0

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

index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.io.*,java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Class Video</title>
</head>
<body>
<form action="second.jsp" method="post">
<table>
<% 

File f=new File("C:/Users/SHAKTI/Desktop/video"); 
File[] list=f.listFiles();
if(list.length!=0){
String s[]=new String[list.length];
for(int i=0;i<list.length;i++){
s[i]=list[i].toString();
String fi=list[i].getName(); 
%> 
<tr><td><%=fi %></td>
<td><input type="text" name="file" value="<%=s[i] %>">
</td>
<td><input type="submit" name="play" value="Play"></td>

</tr>
<%}}
else{
%>
<tr>
<td>There is no any files in the database...</td>
</tr>
<% 
}
%>
</table>
</form>
</body>
</html>

second.jsp

<form action="" method="post">
<%
    response.setHeader("Cache-Control","no-cache"); 
response.setHeader("Pragma","no-cache"); 
response.setDateHeader ("Expires", 0);

String id=request.getParameter("file");
   out.println("id = "+id);
    %>
<input type="submit" name="submit" value="submit>
</form>
  • 0
    Какое значение вы хотите передать из first.jsp во second.jsp , точно?
  • 1
    Кстати - «страница JSP» переводится как «страница страницы Java-сервера». То есть добавление страницы является избыточным (и выглядит глупо).
Показать ещё 1 комментарий
Теги:
jsp

6 ответов

0

существует много способов передачи переменной, такой как

session.setAttribute()
session.getAttribute
action "xxx.jsp?variable=1"
0

Есть много вариантов передачи значения от одного jsp к другому. Вот некоторые

1) Добавление этого в качестве скрытой переменной и указание значения

<input name="file" type="hidden" value=""/>

2) Добавление его в сеанс и извлечение переменной сеанса

session.setAttribute("file", value);

3) Передача этого в качестве запросаПараметр

http://......one.jsp?file=""
0

Это потому, что вы повторяете цикл здесь,

for(int i=0;i<list.length;i++){
s[i]=list[i].toString();
String fi=list[i].getName(); 

поэтому он выведет последний элемент из цикла, чтобы получить имя u, нажатое на кнопку, попробуйте это. Измените эту строку как

<input type="text" name="file" value="<%=s[i] %>">

в виде,

<td><input type="button" class="btn" data-reqno=value="<%=s[i] %>" value="file name">

И обрабатывайте его с помощью jQuery, как это, так что вы можете передать значение в следующий JSP,

<script type="text/javascript">
    $(document).ready(function () {

         $(".btn").click( 
             function() {
                 var selectedFileName = $(this).attr("data-reqno");

                 var urlToApprove = "/yourApp/req/filename?name=" + selectedFileName;

                               }
         );
    });
</script>

А также старайтесь избегать Scriptlets в JSP, вы можете использовать JSTL или El для той же цели. Надеюсь, поможет !!

  • 0
    Уважаемый сэр, что означает этот ваш app / req / filename? name = "
  • 0
    @ user3139341 Это URL для передачи значений в другую JSP.
Показать ещё 1 комментарий
0

Один из способов - использовать сеанс, описанный javaBeginner.

вы также можете создать "на лету" и отправить его.

напишите функцию, подобную этой, и используйте ее в своем успехе:

function submitValues(url, params) {
var form = [ '<form method="POST" action="', url, '">' ];

for(var key in params) 
    form.push('<input type="hidden" name="', key, '" value="', params[key], '"/>');

form.push('</form>');

jQuery(form.join('')).appendTo('body')[0].submit();   
}
0

использовать queryString

URl: http://myaddress.com/xyz?name=jill&sex=f 
String someName = request.getParameter("name") ; 
String sex = request.getParameter("sex") ; 
0

First Jsp: заданное значение на первой странице

request.setAttribute("name",somevalue);

Второй Jsp: Получить его на второй странице

request.getAttribute("name")
  • 0
    Я сделал это, сэр.
  • 0
    моя проблема в том, что я хочу только желаемое значение из этого JSP не все значение
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню