2016-03-28 22 views
0

Parameter olarak alma metin kutusuna nasıl değer girilir? Değeri, kullanıcının isteğinde parametre olarak aldığım değerle ayarlamak istediğim bir metin kutusu var.İstek kutusunda

Örneğin, istek: localhost:?/Login.jsp'ye'uname = manish ben formda metin kutusuna "Manish" görüntülemek istediğiniz 8084/bilgi yarışması.

Bunu nasıl yapabilirim? İşte benim login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!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>Login Page</title> 
</head> 
<body> 
<% 
    String error=(String)request.getParameter("error"); 
    String uname=request.getParameter("uname"); 
    if(error!=null) 
    { 
     if(error.equalsIgnoreCase("no_username_password")) 
      out.println("Username and password can't be empty"); 
     if(error.equalsIgnoreCase("no_username")) 
      out.println("Username is required"); 
     if(error.equalsIgnoreCase("no_password")) 
      out.println("Password is required"); 
    } 
%> 

<form method="post" action="LoginServlet"> 
UserName: <input name="Username"><br> 
Password: <input name="password"><br> 
<input type="submit"> 
</form> 
</body> 
</html> 

tam kodudur ve bu

package com.util.Servlets; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 

/** 
* Servlet implementation class LoginServlet 
*/ 
@WebServlet(description = "Will take username and password from login.html and validate user", urlPatterns = { "/LoginServlet" }) 
public class LoginServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     String username=request.getParameter("Username"); 
     String password=request.getParameter("password"); 
     //PrintWriter out=response.getWriter(); 
     //System.out.println(request.getAttribute("Error")); 
     //HttpSession session=request.getSession(); 
     if((username=="" || username==null)&&(password=="" || password==null)) 
     { 
      response.sendRedirect("Login.jsp?error=no_username_password"); 
     } 
     else if((username=="" || username==null)&&(password!=""||password!=null)) 
     { 
      response.sendRedirect("Login.jsp?error=no_username"); 
     } 
     else if((username!="" || username!=null)&&(password==""||password==null)) 
     { 
      String url="Login.jsp?error=no_password&uname="+username; 
      response.sendRedirect(url); 
     } 
    } 

} 
+0

Eğer login.jsp sizin gerçek kod gönderebilir miyim: Şu anda JSP dosyasında var hoşuna neler yapabileceğini

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <input name="Username" value="<c:out value="${param.uname}"/>"> 

ardından? Teşekkürler – conventi

+0

@conve Soruyu tam kod ile düzenledim. Form kullanıcı adı metin kutusuna –

cevap

0

Bir jsp geliştirici değilim benim servlet'ten kodudur ama sen böyle bir şey yapmak gerektiğini düşünüyorum HTML:

UserName: <input name="Username" value="<%= request.getParameter("uname") %>"><br> 
+1

değerini eklemek istiyorum. 'Request.getParameter ("uname") 'olmalıdır. –

+0

@ W-S haklısınız, düzenliyorum. Teşekkürler. – conventi

0

isteğin parametre değeri elde ve <c:out> taglib kullanarak yazdırabilirsiniz. ${param}, parametre nesnesi talep ediyor ve parametre adınız uname.

<input name="Username" value="<%= uname %>">