2012-02-24 6 views
0

私は私のプレイプロジェクト内の別のページにユーザーをリダイレクトしようとしています。問題は、リダイレクトは1つのビューで非常によく動作しますが、それは別のビューで作業をdoesnt、です。プレイFrameworkは常に動作しませんリダイレクトします。バグか私のせい?

奇妙なことは、コンソールを見ると、システムがビューをロードしているのがわかります(私はsystem.out.println()コマンドを設定することでこれを見ることができます) "しかし、ブラウザビュー

ワーキングコード:

public static void deleteMessages(boolean[] chbox) 
{ 
    System.out.println("Checkbox count: "+chbox.length); 
    String[] referer =Request.current().headers.get("referer").toString().split("/"); 
    String mailbox = referer[referer.length-2]; 
    String pageNumber ="/"+ referer[referer.length-1]; 
    for(int i = 0; i<chbox.length;i++) 
    { 
    String id=params.getAll("hdnchbox")[i].toString(); 
    if(mailbox.equals("inbox")) 
    { 
     MessageInbox m = MessageInbox.findById(Long.parseLong(id)); 
     m.delete(); 
    }else 
    { 
     MessageOutbox m = MessageOutbox.findById(Long.parseLong(id)); 
     m.delete(); 
    } 

    } 
    show(mailbox,Integer.parseInt(pageNumber)); 
} 

動作しないコード:

public static void deleteMessage(Long id, String mailbox) 
{ 
    if(mailbox.toLowerCase().equals("inbox")) 
    { 
    MessageInbox msg = MessageInbox.findById(id); 
    msg.delete(); 
    } 
    else 
    { 
    MessageOutbox msg = MessageOutbox.findById(id); 
    msg.delete(); 
    } 
    System.out.println("Redirect URL: "+"/Messages/"+mailbox); 
    String redirectURL = "/Messages/"+mailbox; 
    show(mailbox,null); 
} 

ショーボイド:

public static void show(String messageBoxName,Integer pageNumber) 
{ 
    if(pageNumber == null) 
    { 
     System.out.println("pagenumber null"); 
     pageNumber = 0; 
    } 
    List<UserMessage> msgs = messageList(pageNumber,messageBoxName); 
    System.out.println("The page has loaded"); 
    render(pageNumber,msgs,messageBoxName); 
} 

奇妙な部分は、私はシステムコンソールに「ページがロードされました」というメッセージを見ることができ、両方のですが、私は、ブラウザのウィンドウでそれを見ることができます。

それはバグですか、私は何か間違ったことをやっていますか?

()(表示するにはnull値を渡すと、私はそれを試してみました動作します)

+0

アクションをチェーンすると、フレームワークはリダイレクト要求を発行します。 Firebugのコンソールからこのリダイレクトが起こっているのが見えますか? – basav

+0

firebugは、ポストアクションとウェブページのHTMLコードをレスポンスとして表示します。私はこれがバグだと思う。私もnull値を0に変更しようとしましたが、まだ希望はありません。 – dreampowder

答えて

0

これはlocalVariablesのバグかもしれ、私は倍ほど前に同様の問題を抱えていました。私はページ番号のような変数を再割り当てした場合でも、それはあなたの問題を解決するかどうか、私は私のテンプレートで

呼び出して試してみてください「ショー(メールボックス、0)」の代わりに「ショー(メールボックス、ヌル)」のを参照するにはnullだ

+0

これはまだ動作しません。ボイドは動作しますが、ページを表示しません。 – dreampowder

0

リダイレクトコマンドを再生する代わりに、jqueryでリダイレクトを終了しました。私はこれがプレーフレームワークのバグだと思う。私は火かき棒で応答HTMLを見ることができますが、ブラウザの画面には運がありません。

関連する問題