Systematičtější extrahování ID objektu z URL
authorFrantišek Kučera <franta-hg@frantovo.cz>
Thu Jul 21 15:20:58 2011 +0200 (2011-07-21)
changeset 1935ec59a8d902e
parent 192 f106b3043c0c
child 194 4e65c1fe5e59
Systematičtější extrahování ID objektu z URL
java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/PodnikServlet.java
java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/SuperServlet.java
     1.1 --- a/java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/PodnikServlet.java	Thu Jul 21 15:20:32 2011 +0200
     1.2 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/PodnikServlet.java	Thu Jul 21 15:20:58 2011 +0200
     1.3 @@ -23,10 +23,7 @@
     1.4  	protected void doGet(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException {
     1.5  		super.doGet(požadavek, odpověď);
     1.6  
     1.7 -		String[] parametryCesty = (požadavek.getPathInfo().split("/"));
     1.8 -		int id = Integer.parseInt(parametryCesty[1]);
     1.9 -
    1.10 -		Podnik p = ejb.getPodnik(id);
    1.11 +		Podnik p = ejb.getPodnik(getIdCesty(požadavek));
    1.12  
    1.13  		if (p == null) {
    1.14  			odpověď.sendError(HttpServletResponse.SC_NOT_FOUND);
    1.15 @@ -38,6 +35,7 @@
    1.16  	}
    1.17  
    1.18  	/**
    1.19 +	 * TODO: OpenStreetMap.org
    1.20  	 * @return URL mapy – obrázku nebo null při chybě nebo absenci souřadnic
    1.21  	 */
    1.22  	private String getMapa(Podnik p) {
     2.1 --- a/java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/SuperServlet.java	Thu Jul 21 15:20:32 2011 +0200
     2.2 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/SuperServlet.java	Thu Jul 21 15:20:58 2011 +0200
     2.3 @@ -17,7 +17,6 @@
     2.4  	public static final String PARAMETR_JAZYK = "jazyk";
     2.5  	private static final String ATRIBUT_JAZYK = "javax.servlet.jsp.jstl.fmt.locale.session";
     2.6  	private static final String ADRESAR_SABLON = "/WEB-INF/casti/";
     2.7 -	
     2.8  
     2.9  	@Override
    2.10  	protected void doGet(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException {
    2.11 @@ -25,16 +24,28 @@
    2.12  	}
    2.13  
    2.14  	/**
    2.15 +	 * <p>Vytáhne z požadované cesty (konec URL) ID objektu.</p>
    2.16 +	 * 
    2.17 +	 * <p>Příklad:
    2.18 +	 * pro <code>GET /podnik/123</code>
    2.19 +	 * vrátí 123 (podnik je název objektu/akce)
    2.20 +	 * </p>
    2.21 +	 * 
    2.22 +	 * @param požadavek HTTP požadavek
    2.23 +	 * @return ID objektu
    2.24 +	 */
    2.25 +	protected int getIdCesty(HttpServletRequest požadavek) {
    2.26 +		String[] parametryCesty = (požadavek.getPathInfo().split("/"));
    2.27 +		return Integer.parseInt(parametryCesty[1]);
    2.28 +	}
    2.29 +
    2.30 +	/**
    2.31  	 * Vykreslí stránku pomocí JSP šablony
    2.32  	 * @param jsp JSP šablona stránky – např. detail.jsp (nacházejí se v /WEB-INF/casti/)
    2.33  	 */
    2.34  	protected void zpracujJSP(String jsp, HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException {
    2.35  		/** Nastavení správného MIME typu */
    2.36  		//požadavek.setAttribute("jspMimeTyp", MIME_TYP);
    2.37 -
    2.38 -
    2.39 -
    2.40 -
    2.41  		/**
    2.42  		 * odpověď.setContentType(MIME_TYP); – nefunguje (JSP si tam procpe svoje text/xml)
    2.43  		 */