Spring MVC Routing: Попытка извлечь элемент из URI в Bean - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть URL-адрес типа http://localhost:8080/forum/view/1/ (последнее целое число является идентификатором)

Я хочу затем разместить на этой странице кнопку «Ответить» и перевести ее на

http://localhost:8080/forum/view/1/Reply

Я хочу вытащить идентификатор (в данном случае «1») и передать его в контроллер (в качестве переменной postID) для ответа.До сих пор я играл с этим:

<bean name="/view/*/Reply" class="forum.web.NewPostController">
   <property name="postId" value="{1}" />
   <property name="successView" value="../hello.htm" />     
   <property name="formView" value="addReply" />
   <property name="postType" value="R" />
</bean>

Спасибо за любую помощь

1 Ответ

0 голосов
/ 07 апреля 2011

Самый простой способ - использовать аннотацию @RequestMapping. Вот пример из документов Spring:

@Controller
@RequestMapping("/appointments")
public class AppointmentsController {

    private final AppointmentBook appointmentBook;

    @Autowired
    public AppointmentsController(AppointmentBook appointmentBook) {
        this.appointmentBook = appointmentBook;
    }

    @RequestMapping(method = RequestMethod.GET)
    public Map<String, Appointment> get() {
        return appointmentBook.getAppointmentsForToday();
    }

    @RequestMapping(value="/{day}", method = RequestMethod.GET)
    public Map<String, Appointment> getForDay(@PathVariable @DateTimeFormat(iso=ISO.DATE) Date day, Model model) {
        return appointmentBook.getAppointmentsForDay(day);
    }

    @RequestMapping(value="/new", method = RequestMethod.GET)
    public AppointmentForm getNewForm() {
        return new AppointmentForm();
    }

    @RequestMapping(method = RequestMethod.POST)
    public String add(@Valid AppointmentForm appointment, BindingResult result) {
        if (result.hasErrors()) {
            return "appointments/new";
        }
        appointmentBook.addAppointment(appointment);
        return "redirect:/appointments";
    }
}

Более подробную информацию можно найти на http://static.springsource.org/spring/docs/3.0.x/reference/mvc.html

...