0

我想编写整个控制器来处理实体。我想在类级别声明实体的 id 并在每个方法上使用它。这是控制器类:

@Controller
@RequestMapping(value="/job/{j_id}/instance")
public class JobController extends GenericController {
    private final String htmlDir = "job/";

    @RequestMapping(value="{i_id}/open", method=RequestMethod.GET)
    public ModelAndView open(@PathVariable Long instance_id) {
        ModelAndView result = new ModelAndView(htmlDir  + "instance");
        result.addObject("instance_id", instance_id);

在这里我想使用变量j_id来自@RequestMapping

        return result;
    }
}

我能做到这一点吗?请帮忙。请给我一些代码片段。

4

1 回答 1

2

Have a try like this

@Controller
@RequestMapping(value="/job/{j_id}/instance")
public class JobController  {
    private final String htmlDir = "job/";

    @RequestMapping(value="{i_id}/open", method=RequestMethod.GET)
    public ModelAndView open(@PathVariable(value="j_id") Long instance_id) {
        ModelAndView result = new ModelAndView(htmlDir  + "instance");
        result.addObject("instance_id", instance_id);
        System.out.println("Instance Id -------------> " + instance_id);
        return result;
    }

}

Please notic "@PathVariable(value="j_id")"

To get both variables, you can change that line as following:

    @RequestMapping(value="{i_id}/open", method=RequestMethod.GET)
    public ModelAndView open(@PathVariable(value="j_id") Long jnstance_id, @PathVariable(value="i_id") Long instance_id) {
            .....
    }
于 2015-01-30T04:49:02.080 回答