2016-05-31 14 views
0

後、私は、Javaに関する豊富な経験を持っているし、次の(小)問題が直面していない:内のページへの前進を実行する方法は、フォワード(* .jspファイル)のページへのJavaクラス内のSQLステートメント

をSQL文の後のjavaクラス?サブリソースで

@POST 
@Path("/remove") 
public String removeUserId(@FormParam("uid") int uid) throws Exception { 

    FormData test = new FormData(); 
    return test.removeUser(uid); 

} 

コード:

public String removeUser(@FormParam("uid") int uid) throws Exception { 

    con = DbConn.apiUserProfileConn().getConnection(); 
    Statement stRemoveUser = con.createStatement(); 
    String queryRemoveUser = "DELETE FROM users " + "WHERE id = " + uid; 

    int rsRemoveUser = stRemoveUser.executeUpdate(queryRemoveUser); 

    return "user: " + uid + " has been removed"; 

} 

私は試してみてください。リソースジャージー1.19

コードを使用

@POST 
@Path("/remove") 
public Response removeUserId(@Context UriInfo uriInfo, @FormParam("uid") int uid) throws Exception { 

    URI uri = uriInfo.getBaseUriBuilder().path("removeUser/index.jsp").build(); 
    return Response.seeOther(uri).build(); 

} 

を、私はremoveUser/index.jspに着くが、ユーザーはDBテーブルから削除されていません。これは、uidがサブリソースのremoveUserに渡されていないためです。だから私はどのように削除するためにuidを呼び出すことができると同時に、(転送および/またはリダイレクト)の種類の呼び出しを実行する:

ありがとうございます!

+0

ありがとうございます!しかしそれは助けになりません.. uidがURLに渡されています:removeUser/index.jsp?uid = xx QueryStringとして、しかしユーザーはフォームDBテーブルから削除されていません。 SQLを実行するサブリソースのメソッドremoveUser()にuidを渡す必要があります。DELETEフォームxx WHERE id = xx。その後、JSPページにリダイレクト/転送する必要があります。 –

+0

JSPページは、ユーザ等に一種の情報/テキストを表示するだけでよい。 "ユーザー:ID:xxを持つ名字の姓が削除されました。" ユーザーの削除は、サブリソースクラスのメソッド:removeUser()で行われます。 Thx! –

答えて

2

removeUserId()メソッドを変更したときに、あなたのサブリソースへの呼び出しを削除したようです。削除とリダイレクトの両方が独立して機能する場合は、リダイレクトする前にremoveUser()に電話してみてください。

@POST 
@Path("/remove") 
public Response removeUserId(@FormParam("uid") int uid) throws Exception { 
    // remove the user 
    FormData test = new FormData(); 
    test.removeUser(uid); // you may want to use the return to indicate a success/failure 

    // redirect 
    URI uri = uriInfo.getBaseUriBuilder().path("removeUser/index.jsp").build(); 
    return Response.seeOther(uri).build(); 
} 

後でindex.jspの中には、ユーザーのIDを取得するためにrequest.getParameter("uid")を使用することができます。

+0

はい、これは...本当に簡単です。 私はtest.removeUser(uid)を返すようにtryiedしていましたが、これはメソッドの型が次のように動作しないということでした:レスポンスとString返す。エラーの原因です:Stringはできませんレスポンスに変換されます。 –

関連する問題