Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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



Ответ
 
Опции темы
Старый 15.06.2010, 17:16   #1
Jakethefish
Форумчанин
 
Регистрация: 13.11.2009
Сообщений: 121
Репутация: 10
По умолчанию 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 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем отличаются JavaSerlet и JSP? ibnabbas Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 1 14.12.2009 16:55
MVC в JSP Kasiopeya Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 0 20.11.2009 04: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




19:19.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru