0

データを検証して挿入しようとしています。ここで、ユーザー名がファイル サービスに存在する場合、エラー メッセージが表示されますが、検証後、ファイル サービスにデータを挿入するとエラー メッセージが表示されます。コードのどこが失敗しているのかわかりません。

私のJSP:

<form name="create" id="myform" action="/create" method="post">
User Name:  <input type="text" name="cliname"/>
<input type ="submit" value="submit"/>
</form>

私のサーブレット:

public class CreateForm  extends HttpServlet {
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
       String uname = req.getParameter("cliname");
       Query query1 = new Query("Users");
List<Entity> cli_id = datastore.prepare(query1).asList(FetchOptions.Builder.withDefaults());
for (Entity client : cli_id){
username = (String)client.getProperty("User Name");
if(username.equals(uname)) {
RequestDispatcher rd = req.getRequestDispatcher("/Create.jsp");
req.setAttribute("errormsg", "User Name Already Exists");
rd.forward(req, resp);}}
Entity userInput = new Entity("Users");
userInput.setProperty("User Name", uname);
datastore.put(userInput);
}}

いいアイデアを教えてください、

あなたの助けに感謝します。

4

1 に答える 1

1

コードを更新しました。

public class CreateForm  extends HttpServlet {
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
   String uname = req.getParameter("cliname");
   Query query1 = new Query("Users");
   List<Entity> cli_id = datastore.prepare(query1).asList(FetchOptions.Builder.withDefaults());
   RequestDispatcher rd = null;
for (Entity client : cli_id){
    username = (String)client.getProperty("User_Name");
    if(username.equals(uname)) {
        req.setAttribute("errormsg", "User Name Already Exists");
        rd = req.getRequestDispatcher("/error.jsp");
     }else{
        Entity userInput = new Entity("Users");
        userInput.setProperty("User_Name", uname);
        datastore.put(userInput);
        req.setAttribute("success", "User Name Added");
        rd = req.getRequestDispatcher("/Create.jsp");
     }
 }
     rd.forward(req, resp);
   }
 }
于 2013-01-04T18:06:46.797 に答える