基于spring-webmvc编写了Controller,使用了@Controller注解。
其中的一个借口使用了@RequestMapping、@ResponseBody,但是,一直不能返回普通支付查,比如,返回“ok”。
@ResponseBody注解表示返回的是JSON对象,删除后,仍然失败,提示跳转到 返回的字符串+“.jsp”失败,404错误。
直接使用response.getWriter().wirte(“ok”)也失败了。
@RequestMapping添加produces = "text/html;charset=UTF-8"也无法返回普通字符串。
因为自己对Spring web mvc不熟悉,搜索了一大堆信息,仍然没能解决问题。
拜托各位园友了!
继续尝试。
方式一:你可以使用Model或者ModelAndView,这种方式取值比较麻烦,就看你用的什么模板引擎了。
/** * 查询商品列表 * @return */ @RequestMapping("itemList") public ModelAndView queryItemList() {// 创建ModelAndView,设置逻辑视图名 ModelAndView mv = new ModelAndView("itemList"); // 把数据放到模型中 mv.addObject("str", "123"); return mv; }
方式二:你可以使用@ResponseBody
@RequestMapping("test") @ResponseBody public String testStr(){ return "str"; }
按照上面写的,出现下面的问题:
AnnotationMethodHandlerAdapter - Written [success] as "text/plain;charset=ISO-8859-1" using [org.springframework.http.converter.StringHttpMessageConverter@5c35eb56]
DispatcherServlet - Null ModelAndView returned to DispatcherServlet with name 'servlet': assuming HandlerAdapter completed request handling
不过我的问题还在。
在运行前,我已经把xml文件的InternalResourceViewResolver配置注释了。
@迷了: 接口就那么两句话,如果有问题,也是你的配置出了毛病。
你换成@RestController
spring mvc 3.1.2还没有呢!
@RestController=@Controller+@ResponseBody,使用@RestController即可。
我的spring mvc是3.1.2,还没有@RestController呢,,Eclipse提示不存这个注解,,谢谢了!
谢谢各位!看来问题不是这个接口编写的问题,使用curl测试了,的确返回了 普通字符串,,哎,,看来是其它问题了,,方向错了,好惨啊!
– 迷了 5年前