Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package es.sinjava.labs;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.jsp.JspException;
- import javax.servlet.jsp.JspWriter;
- import javax.servlet.jsp.tagext.TagSupport;
- public class MailerTag extends TagSupport {
- private static final String CONTENT_MAILER = "contentMailer";
- private String styleClass;
- private String messageClass;
- private String cols;
- private String rows;
- public String getCols() {
- return cols;
- }
- public void setCols(String cols) {
- this.cols = cols;
- }
- @Override
- public int doStartTag() throws JspException {
- HttpServletRequest request = (HttpServletRequest) pageContext
- .getRequest();
- StringBuffer sb = null;
- String texto = request.getParameter(CONTENT_MAILER);
- if (texto != null) {
- // Creamos el correo
- MailSender mailSender = new MailSender();
- mailSender.setText(texto);
- // lo lanzamos en segundo plano
- Thread segundoPlano = new Thread(mailSender);
- segundoPlano.start();
- // Escribimos la salida
- sb = new StringBuffer("<span ");
- prepareAttribute(sb, "class", getMessageClass());
- sb.append(" > Su Solicitud ha sido registrada ");
- sb.append(" </span>");
- } else {
- sb = new StringBuffer("<textarea ");
- // HttpServletResponse resp = (HttpServletResponse) pageContext
- // .getResponse();
- prepareAttribute(sb, "id", getId());
- prepareAttribute(sb, "name", CONTENT_MAILER);
- prepareAttribute(sb, "class", getStyleClass());
- prepareAttribute(sb, "cols", getCols());
- prepareAttribute(sb, "rows", getRows());
- sb.append(" > default value");
- sb.append(" </textarea>");
- }
- JspWriter out = pageContext.getOut();
- try {
- out.print(sb.toString());
- } catch (java.io.IOException e) {
- throw new JspException("IOException while writing to client: " + e);
- }
- return SKIP_BODY;
- }
- @Override
- public int doEndTag() throws JspException {
- return EVAL_PAGE;
- }
- private void prepareAttribute(StringBuffer sb, String name, String value) {
- if ((value != null) && (value.trim().length() > 0)) {
- sb.append(" ");
- sb.append(name);
- sb.append("=\"");
- sb.append(value.trim());
- sb.append("\"");
- }
- }
- public String getStyleClass() {
- return styleClass;
- }
- public void setStyleClass(String styleClass) {
- this.styleClass = styleClass;
- }
- public String getRows() {
- return rows;
- }
- public void setRows(String rows) {
- this.rows = rows;
- }
- public String getMessageClass() {
- return messageClass;
- }
- public void setMessageClass(String messageClass) {
- this.messageClass = messageClass;
- }
- }
- class MailSender implements Runnable {
- private String text;
- public void run() {
- Mailer mailer = new Mailer(text);
- }
- public String getText() {
- return text;
- }
- public void setText(String text) {
- this.text = text;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement