2017-03-04 12 views
0

私はあなたの助けが必要です。私の脳はあなたの助けなしで爆発するでしょう!私は春のMVC + JSPでクイズアプリを書いています。Spring MVC + JSPを使用したクイズ(Quastionare)の作成

私が今行ったこと: 1. HashMap +ハードコード正解を作成しました。 2.私は@RequestMapping(value = "/level_one", method = RequestMethod.POST) public String levelOne() { return "levelone"; }

を作成し、それが可能shoul方法: pics

その後、私はちょうど凍結と私は何をすべきかわからないし、どのようにHashMapと@RequestMapingにこのコードを団結するとJSPでコードを書きますそれを表示してクリック可能にするには??? は、コントローラでは私が書きました:

package ua.kiev.prog; 


import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.ModelAttribute; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 

import java.util.HashMap; 
import java.util.Map; 


@Controller 
@RequestMapping("/") 
public class MyController { 

     final private String rightAnswerOne = "Dance"; 

    @ModelAttribute("answerList") 
    public Map answerList() { 
     Map<String, String> answerList = new HashMap<String, String>(); 
     answerList.put("one", "Sandbox"); 
     answerList.put("two", "Pixel"); 
     answerList.put("three", "Game"); 
     answerList.put("four", "Picture"); 

     return answerList; 
    } 


    @RequestMapping(value = "/level_one", method = RequestMethod.POST) 
    public String levelOne() { 
     return "levelone"; 
    } 


} 

答えて

0

@modelAttributeは、要求のマッピングの前に実行されます。それはあなたが@RequestMappingアノテーションを付けるメソッドのパラメータとして渡すなかったこと(モデルモデルオブジェクトを移入します。あなたはmodel.asMap().Get("yourkey").

@RequestMapping(value = "/level_one", method = RequestMethod.POST) public String levelOne(Model model) { 

model.asMapを()を使用して、そのオブジェクトにアクセスすることができ

。取得します(「answerList」); ... リターン「levelone」;}

これはあなたが春MVC上のいくつかのチュートリアルを検索する方法をmodelattribute作品が、それは長い引数である 私はGoogleのmkyong春にお勧めします。 mvc、彼はspring mvcのための基本的なチュートリアルの膨大なセットを持っています、理解しやすい。

このリンクをチェックしてください http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example/

0

you.Iはそれを行いますありがとうございました。しかし、この例ではもう一つの質問に答えてください。あなたが以前に書いたように私がコードを書くなら。どのようにコントローラとWebビューでハッシュマップからの答えを統合するために、私はJSPページを書く必要がありますか?だから私は、Web上のボタンをクリックすると、それはサーバー側のページにハッシュマップと結合されます。 それでは私はこのような何かを書くことができるようになります:私はちょうどそのようなことを書く方法を理解したい

public static int getCount(HashMap<String, String> answerList, String rightAnswerOne, String rightAnswerTwo, String message) { 
    int count = 0; 

    for (String tmp : answerList.values()) { 
     if (rightAnswerOne.equals(tmp)) { 
      count++; 
      System.out.println("SUCCESS"); 
     } else { 
      System.out.println("DENIED"); 
     } 
    } 
    return count; 
} 

関連する問題