当前位置: 首页 > 知识库问答 >
问题:

在Springmvc中从控制器返回Hashmap到JSP

张勇
2023-03-14
$("select#country").change(function() {
var val=$("#country").val();
alert(val);
$.ajax({
url : 'getstates',
method : 'get',
contentType: 'application/json',
 data :{
          country : val
        },

  success: function (data) {
  alert("Success Response"+ data);

  },

   error :function()
   {
           alert("error");
    }          

   });
 @RequestMapping(value = "/getstates", method = RequestMethod.GET)
 public ModelAndView  showstates(@RequestParam(required = false, value = "") 
     String country,@Valid    @ModelAttribute("employee")Login employee, 
     BindingResult result, Model model) {  
    HashMap<String,String>  stateMap = new HashMap<String,String>();
     //put your logic to add state on basis of country

     if (country.equals("UnitedStates")) {
         stateMap.put("Al","Alaska");
         stateMap.put("Tl","Texas");

     } else if (country.equals("UnitedKingdom")) {
         stateMap.put("Be","Bedfordshire");
         stateMap.put("Ber","Berkshire");

     } else if (country.equals("India")) {
         stateMap.put("Mh","Maharashtra");
         stateMap.put("WB","West Bengal");
         stateMap.put("KR","Karnataka");
         stateMap.put("AP","Andhra Pradesh");
         stateMap.put("TN","Tamil Nadu");
     } 


     return new ModelAndView("LoginForm","state" ,stateMap);
 }

我正在使用Spring形式。我只需要得到Staemap作为响应,但我得到的是整个jsp页面作为响应。

共有1个答案

陈琪
2023-03-14

我只需要得到Staemap作为响应,但我得到的是整个jsp页面作为响应。

因为您返回的是modelandview对象和此处的视图,

return new ModelAndView("LoginForm","state" ,stateMap);

如果您需要单独从controller方法返回respone,但是您不能在JSP上的Ajax响应中直接打印hashmap。IMHO您可以将其转换为JSONARRAY

JSONArray jarray = JSONArray.fromObject(statemap);

读,

>

  • 在MVC中使用JSON将数组从控制器发送到视图

    从spring控制器发送JSON响应

  •  类似资料:
    • 如果可以从Spring返回,我很好奇 这样做可以吗?我试过了,Spring返回的不是流的值。 我应该继续返回

    • 本文向大家介绍详解利用SpringMVC拦截器控制Controller返回值,包括了详解利用SpringMVC拦截器控制Controller返回值的使用技巧和注意事项,需要的朋友参考一下 背景:需求是在Controller中方法没有实现时,返回模拟结果。主要用于项目初期前台跟后台的交互,Web项目就是在前台发出请求然后后台响应并返回结果。本示例利用拦截器和注解实现跳过执行方法直接返回定义结构的功能

    • 我无法完成的任务是将参数从一个场景传递到另一个场景并返回。 或者换句话说:主控制器加载子控制器的fxml,将对象传递给子控制器,切换场景。不得有两扇开着的窗户。工作完成后,副控制器将场景切换回主控制器,并将一些对象传递回主控制器。这就是我失败的地方。 这个问题和这个问题很相似但仍然没有答案。传递参数JavaFX FXML在注释中也提到了: 有没有人知道如何在没有外部库的情况下实现这一点?

    • 问题内容: 我试图创建一个服务来获取json并将其传递给我homeCtrl我可以获取数据,但是当将其传递给我的homeCtrl时,它总是返回undefined。我卡住了。 我的服务: 我的家庭控制器: 问题答案: 您应该从函数返回promise ,当它被解析后,它应该从该函数返回。 厂 同样在控制器内部,您应该调用factory函数,并在service函数解析该调用并将其分配给 码

    • 为什么我不能在这里回复一个糟糕的请求?在其他例子中,它工作得很好。

    • 我得到这个错误消息: 无法写入JSON: 未找到用于java.io.FileDescriptor类的序列化程序,也未发现用于创建BeanSerializer的属性 (为了避免异常,禁用SerializationFeature.fail_on_empty_beans)) (通过引用链: org.springframework.core.io.filesystemResource[\“outputSt