Я пытаюсь написать веб-приложение с использованием MVC. У меня есть компонент, JSP и сервлеты.
Чего я хочу добиться: пользователь сможет создать список (покупок) в таблице. Таблица будет иметь заголовок, показывающий день ее создания. Затем он создаст строки с тремя столбцами (1 - id, 2 -name of product, 3 — купленная ссылка). Когда пользователь нажмет на ссылку «Куплено», он удалит ссылку из столбца 3, а название товара станет зеленым.
Где-то снаружи будет еще одна ссылка. таблицы, что позволит пользователю создать новый список. Если существует существующий список, то товары, которые еще не были куплены, автоматически попадут в новый список.
Как только пользователь нажмет кнопку «Создать новый список»< /code>, он будет отображать только новый список (с некупленными продуктами, если таковые имеются).
В настоящее время у меня возникли проблемы: дата не будет отображаться только до тех пор, пока они не будут куплены
код> ссылка нажимается, но при нажатии текст не становится зеленым и не удаляется купленная ссылка.
Вот мой код:
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");
}
}
Bought.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 ... nd-servlet
Изменение представления (из MVC) с использованием JSP и сервлета ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение