簡體   English   中英

Java中的范圍變量。 如何在一個范圍內鏈接兩個變量?

[英]Scoped variables in Java. How to link two variables within one scope?

我正在嘗試調用存儲為會話范圍變量的變量。 如果我運行第一個if語句,則范圍變量調用將起作用。 當我運行else語句時,僅輸入一個名稱,不輸入任何地址(而是先前輸入的名稱和存儲的地址),則不返回與該名稱匹配的地址。 任何幫助將不勝感激,因為我對此有點迷惑。 謝謝

@WebServlet("/Test2") // tells server under which URL to offer this servlet 
public class UserRegistration extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

        // set content-type header before accessing the Writer 
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        // then write the response 
        out.println("<html>" + "<head><title>Online Shopping Directory</title></head>");
        //Get the identifier of the book to display 

        out.println("<body bgcolor=\"#ffffff\">"
                + "<h2>Please enter your name:</h2>" + "<form method=\"get\">"
                + "<input type=\"text\" name=\"username\" size=\"25\">"
                + "<p></p>"
                + "<h2>Please enter your address:</h2>" + "<form method=\"get\">"
                + "<input type=\"text\" name=\"useraddress\" size=\"25\">"
                + "<p></p>"
                + "<input type=\"submit\" value=\"Submit\">"
                + "<input type=\"reset\" value=\"Reset\">"
                + "</form>");

        String name = request.getParameter("username");
        String address = request.getParameter("useraddress");
        HttpSession session = request.getSession();
        session.setAttribute("username", address);

        if ((name != null) && (name.length() > 0) && (address != null) && (address.length() > 0)) {

            out.println("The username " + name + " has been saved for "
                    + "this session. The address of this user is "
                    + (String) session.getAttribute("username"));
        } else if ((name == "username") && (address == null)) {
            out.println("The username " + name + " is already saved. The address of this user is " + (String) session.getAttribute("username"));
        }
        out.println("</body></html>");
        out.close();
    }
}

我認為您應該使用等於而不是==

 if ((name.equals("username")) && (address.equals(""))) {
        out.println("The username " + name + " is already saved. The address of this user is " + (String) session.getAttribute("username"));
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM