Spring JSP View View - PullRequest
       1

Spring JSP View View

0 голосов
/ 10 декабря 2010

есть 1 страница jsp, скажем view.jsp, так что с помощью spring она отображается как view.htm, хорошо, это нормально, но теперь я хочу передать ей список, и в соответствии с заданным идентификатором из списка,view.htm изменился на view.htm / {id}, но если у меня есть 100 данных, тогда мне нужно 100 страниц jsp?как я могу решить это с помощью весны

Ответы [ 2 ]

2 голосов
/ 10 декабря 2010

Вы можете добавить список в запрос и просмотреть его в вашем view.jsp.

Like So (преувеличенный пример),

List<String> datas = new ArrayList<String>();
//Add 100 datas...
request.setAttribute("datas", datas);

Теперь вы можете использовать JSTL дляитерируйте ... в view.jsp.

<c:if test="${requestScope.datas != null}">

</c:if>

Или я вас правильно не понял?


Редактировать на основании вашего вопросавы все еще можете перебирать данные в списке и создавать тег привязки, который добавляет идентификатор данных к view.htm.

что-то вроде (в псевдокоде)

$ {someData.description}

Где someData - это замененное datas, как указано в первом сообщении.Тег привязки будет расположен внутри тега <c:if>, поэтому, если у вас есть 100 элементов в массиве, у вас будет 100 тегов привязки.

0 голосов
/ 14 декабря 2010

Итак, если у вас есть коллекция объектов, вы хотите иметь возможность просматривать каждый объект по отдельности, и вы хотите, чтобы один вид мог обрабатывать все это. Хорошо, я надеюсь, что ваш список объектов на самом деле все объекты, хранящиеся в вашей базе данных. Таким образом, у вас есть одно действие, которое возвращает список всех объектов. Вы можете использовать пример The Elite Gentleman, чтобы сгенерировать ссылку для каждого элемента в списке. Эта ссылка идет на другую конечную точку, передавая идентификатор базы данных объекта контроллеру. Этот контроллер извлекает объект с этим идентификатором и отображает представление с использованием этого объекта. Вот пример:

// Your 'index' action
@RequestMapping('myObjectType/index/')
public ModelAndView index() {
  List<MyObject> list = // Get your objects from the database
  return new ModelAndView("index", "list", list); // insert your list into the MAV
}

// Your 'show' action
@RequestMapping('myObjectType/show/{id}') 
public ModelAndView show(@PathVariable("id") String id) {
  MyObject obj = // Get your object from the database from the id param
  return new ModelAndView("show", "obj", obj);
}

Итак, в вашем index.jsp вы перебираете свой объект списка и создаете ссылку для каждого элемента в коллекции, которая указывает на конечную точку 'show', передающую идентификатор объекта. Затем в вашем show.jsp вы просто показываете любую информацию о возвращаемом объекте.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...