4

春のフレームワークでは、いくつかの変数 (オブジェクト) を jsp ページに渡したいと考えています。次のように 1 つのオブジェクトを渡すことができます。

 ModelAndView modelAndView= new ModelAndView("JspPageName", "message", message); 
 return message

しかし、Java から JSP に複数のオブジェクトを送信するにはどうすればよいですか。実際、私はオブジェクト配列を作成してこの配列を送信できることを知っていますが、これを行う最善の方法は何でしょうか? jsp にデータを送信する私のコードは次のとおりです。

@Controller
public class DomainEkleController {
    private DomainJDBCTemplate  domainJDBCTemplate;
    private MemurJDBCTemplate memurJDBCTemplate;
    @ModelAttribute("Domain")
    public Domain getDomain()
    {
        return new Domain();
    }

    @Autowired
    @Qualifier("domainJDBCTemplate")
    public void setDomainJDBCTemplate(DomainJDBCTemplate domainJDBCTemplate) {
        this.domainJDBCTemplate = domainJDBCTemplate;
    }

    @Autowired
    @Qualifier("memurJDBCTemplate")
    public void setMemurJDBCTemplate(MemurJDBCTemplate memurJDBCTemplate) {
        this.memurJDBCTemplate = memurJDBCTemplate;
    }

    @RequestMapping(value="/DomainEkle")
    public ModelAndView domainEkle() {

        List<Memur> memurlar=memurJDBCTemplate.getAll();
        System.out.println(memurlar);
        /*for(Memur x:memurlar)
        {
            System.out.println(x.getIsim());
        }*/
        String message = "Hello World, Spring 3.0!";
        ModelAndView domain_ekle= new ModelAndView("DomainEkle", "message", message);
        return domain_ekle;
    }




    @RequestMapping(value="/DomainEkle",method=RequestMethod.POST)
    public ModelAndView domain_eklendi_fonksiyon(@ModelAttribute("Domain")Domain domain,   ModelMap model)
    {




        model.addAttribute("domain_adi", domain.getDomain_adi());
        model.addAttribute("sunucu_no", domain.getSunucu_no());
        model.addAttribute("tarih", domain.getTarih());
        model.addAttribute("ilgili_memur_no",domain.getIlgili_memur_no());

        String message="Domain Kaydi Yapilmistir!";
        ModelAndView dm_eklendi=new ModelAndView("DomainEkle","message",message);

        domainJDBCTemplate.addDomain(domain);
        return dm_eklendi;

      }

}
4

2 に答える 2

6

ModelAndViewを受け入れるコンストラクターがあることに気付くでしょう。Map<String, ?>

ModelAndView mav = new ModelAndView("someView", map);

したがって、モデル属性を保持するマップを作成します

 Map<String, Object> map = new HashMap<>();
 map.put("attrib1", someAttrib);

このマップにキーと値のペアのオブジェクトをいくつでも配置して、コンストラクターに渡すか、

mav.addAllObjects(map);

すべての属性を追加するメソッド。これらの属性は、最終的HttpServletRequestに JSP で使用できるようになります。

これは、ハンドラ メソッドにModelorを引数として渡すことと同じになります。ModelMapメソッドで行うのと同じですdomain_eklendi_fonksiyon()

于 2013-09-07T19:39:17.250 に答える