Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2010, 17:16   #1
Jakethefish
Форумчанин
 
Регистрация: 13.11.2009
Сообщений: 121
По умолчанию JSP editor и JSP + spring Guide

Всем привет,
хотел бы узнать, есть ли какой-нибудь текстовый редактор или плагин для эклипса позволяющий создавать JSp страницы. Сейчас делаю это в MyEclipse что не очень удобно.

Более того где можно почитать поконкретней про сами теги или же посмотреть какие-то конкретные примеры? Может даже есть какой-либо интересный источник(книга, сайт).

P.S. Правильно ли написан контроллер, валидатор и страница?
addChannel.jsp
Код:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Add new channel</title>
  </head>
  <body>
  <h1>Add new channel</h1>
<form action="addChannel.html" method="post">
<table width="110" border="1" >
<tbody>
	<tr><spring:bind path="channel.name">
		<td>Channel name:</td>
		<td><input type="text" name="name" maxlength="20" value="${status.value}" /></td>
		<td><font color="red">${status.errorMessage}</font></td></spring:bind>
	</tr>
	<tr><spring:bind path="channel.description">
		<td>Channel description</td>
		<td><input type="text" name="description" maxlength="20" value="${status.value}" /></td>
		<td><font color="red">${status.errorMessage}</font></td></spring:bind>
	</tr>
	<tr>
		<td><input type="submit" value="Add channel"/></td>
	</tr>
	<tr>
		<td colspan="2">
		<spring:hasBindErrors name="channel">
		<b>Please check your inputs!</b>
		</spring:hasBindErrors>
		</td>
	</tr>
</tbody>
</table>
</form>
</body>
</html>
Controller
Код:
package ee.saatekava.web;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.view.RedirectView;

import ee.saatekava.domain.Channel;
import ee.saatekava.service.IChannelManagerService;

public class AddChannelFormController extends SimpleFormController {
    /** Logger for this class and subclasses */
    final Log logger = LogFactory.getLog(getClass());
    
	private IChannelManagerService channelManagerService;
	
	public void setChannelManagerService(
			IChannelManagerService channelManagerService) {
		this.channelManagerService = channelManagerService;
	}

    public ModelAndView onSubmit(Object command) throws ServletException {
    	Channel channel = (Channel) command;
    	channelManagerService.addChannel(channel);
    	logger.info("added new channel: " + channel);   	
        return new ModelAndView(new RedirectView(getSuccessView()));        
    }

    protected Object formBackingObject(HttpServletRequest request) throws ServletException {
    	Channel channel  = new Channel();
    	return channel;
    }
}
Validator
Код:
package ee.saatekava.web.validator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

import ee.saatekava.domain.Channel;
import ee.saatekava.service.IChannelManagerService;

public class AddChannelFormValidator implements Validator {

    /** Logger for this class and subclasses */
    protected final Log logger = LogFactory.getLog(getClass());
    
	@SuppressWarnings("unchecked")
	public boolean supports(Class clazz) {
		return clazz.equals(Channel.class);
	}
	
	IChannelManagerService channelManagerService;
	public void setChannelManagerService(
			IChannelManagerService channelManagerService) {
		this.channelManagerService = channelManagerService;
	}


	public void validate(Object obj, Errors errors) {
		ValidationUtils.rejectIfEmpty(errors, "name", "channel.empty-name");
		ValidationUtils.rejectIfEmpty(errors, "description", "channel.empty-description");
		
		Channel channel = (Channel) obj;
		if(channelManagerService.checkIfExists(channel.getName())){
			errors.rejectValue("name", "channel.already-exist");  
		}
	}

}
Код:
    <bean id="addChannelFormController" class="ee.saatekava.web.AddChannelFormController">
        <property name="commandName"><value>channel</value></property>
        <property name="commandClass"><value>ee.saatekava.domain.Channel</value></property>
        <property name="validator"><ref bean="addChannelFormValidator"/></property>
        <property name="formView"><value>addChannel</value></property>
        <property name="successView"><value>listChannels.html</value></property>
        <property name="channelManagerService"><ref bean="channelManagerService"/></property>
    </bean>
Jakethefish вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем отличаются JavaSerlet и JSP? ibnabbas Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 1 14.12.2009 15:55
MVC в JSP Kasiopeya Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 0 20.11.2009 03:10
инклудинг сервлета в index.jsp SuperOrange Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 1 19.07.2009 18:03
работа с jsp и jstl, нужна помошь dint Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 0 24.10.2008 17:24