Изменение представления (из MVC) с помощью jspsJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Изменение представления (из MVC) с помощью jsps

Сообщение Anonymous »

Я пытаюсь написать веб-приложение с использованием MVC. У меня есть компонент, JSP и сервлеты.
Чего я хочу добиться: пользователь сможет создать список (покупок) в таблице. Таблица будет иметь заголовок, показывающий день ее создания. Затем он создаст строки с тремя столбцами (1-id, 2-name of product, 3 — ссылка «куплено»). Когда пользователь нажимает на ссылку «Куплено», ссылка удаляется из столбца 3, а название продукта становится зеленым.
Где-то за пределами таблицы будет еще одна ссылка, которая позволит пользователю создать новый список. Если существует существующий список, то товары, которые еще не были «куплены», автоматически попадут в новый список. Как только пользователь нажмет ссылку «Создать новый список», отобразится только новый список (с некупленными продуктами, если таковые имеются).
В настоящее время у меня возникли проблемы: дата не отображается. только до тех пор, пока не будет нажата ссылка «Куплена», но при нажатии текст не станет зеленым или ссылка «Куплена» не будет удалена.
вот мой код, буду очень признателен за любую помощь. Спасибо.
Item.java
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Item {
//property names
String name;
Integer id;
boolean available = true;
Format formatter = new SimpleDateFormat("MM/dd/yyyy");
String today = formatter.format(new Date());

public Item(Integer id, String name, boolean available){
this.id = id;
this.name = name;
this.available = available;
}

public String getToday() {
return today;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public boolean isAvailable() {
return available;
}

public void setAvailable(boolean available) {
this.available = available;
}
}

DisplayList.jsp









Grocery List



Grocery List


${entry.today}



${entry.id}


${entry.name}
Bought


${entry.name}
















Groceries.java
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Groceries")
public class Groceries extends HttpServlet {
private static final long serialVersionUID = 1L;

int y = 3;

public Groceries() {
super();
}

public void init(ServletConfig config) throws ServletException {
super.init( config );
List entries = new ArrayList();
entries.add( new Item(1, "Milk", true) );
entries.add( new Item(2, "Soda", true) );

getServletContext().setAttribute( "entries", entries );

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.getRequestDispatcher("/WEB-INF/DisplayList.jsp").forward(request, response);
}

@SuppressWarnings("unchecked")
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String name = request.getParameter("product");
Item entry = new Item(y, name, true);
y++;

List entries = (List) getServletContext().getAttribute("entries");
entries.add( entry );
response.sendRedirect("Groceries");

}

}

Купил.java
import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Bought")
public class Bought extends HttpServlet {
private static final long serialVersionUID = 1L;

public Bought() {
super();
}

/**
* Given an id, retrieve the List entry.
*/
@SuppressWarnings("unchecked")
private Item getEntry( Integer id )
{
List entries = (List) getServletContext().getAttribute("entries" );

for( Item entry : entries )
if( entry.getId().equals( id ) )
return entry;

return null;
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// get the entry to be edited
Integer id = Integer.valueOf( request.getParameter( "id" ) );
Item entry = getEntry( id );

// pass the entry to jsp using request scope
request.setAttribute( "entry", entry );
request.getRequestDispatcher( "/WEB-INF/DisplayList.jsp" ).forward(request, response );
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// get the entry to be edited
Integer id = Integer.valueOf( request.getParameter( "id" ) );
Item entry = getEntry( id );

// change the entry based on user input
entry.setAvailable(true);

// send the user back to the guest book page
request.getRequestDispatcher( "/WEB-INF/DisplayList.jsp" ).forward(request, response );
}

}


Подробнее здесь: https://stackoverflow.com/questions/267 ... using-jsps
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»