Если я не ошибаюсь, то, что вы пытаетесь достичь, называется Липкий Навбар.
С помощью нескольких строк jQuery и события прокрутки довольно легко достичь:
$(document).ready(function() {
var menu = $('.menu');
var content = $('.content');
var origOffsetY = menu.offset().top;
function scroll() {
if ($(window).scrollTop() >= origOffsetY) {
menu.addClass('sticky');
content.addClass('menu-padding');
} else {
menu.removeClass('sticky');
content.removeClass('menu-padding');
}
}
$(document).scroll();
});
Я сделал для вас быстрый рабочий пример, надеюсь, он поможет: http : //jsfiddle.net/yeco/4EcFf/
Чтобы заставить его работать с Bootstrap , вам нужно только добавить или удалить «navbar-fixed-top» вместо « липкий "класс в jsfiddle.
Вот мой код для этого:
import javax.mail.*;
import javax.mail.internet.*;
// Set up the SMTP server.
java.util.Properties props = new java.util.Properties();
props.put("mail.smtp.host", "smtp.myisp.com");
Session session = Session.getDefaultInstance(props, null);
// Construct the message
String to = "you@you.com";
String from = "me@me.com";
String subject = "Hello";
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(from));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
msg.setSubject(subject);
msg.setText("Hi,\n\nHow are you?");
// Send the message.
Transport.send(msg);
} catch (MessagingException e) {
// Error.
}
Вы можете получить библиотеки JavaMail от Sun здесь: http://java.sun.com/products/javamail/
JavaMail может быть немного неудобным в использовании. Если вам нужно более простое и понятное решение, взгляните на оболочку Spring для JavaMail. Справочные документы находятся здесь:
http://static.springframework.org/spring/docs/2.5.x/reference/mail.html
Однако это означает, что вам нужен Spring в вашем приложении, если это не так. Если это не вариант, вы можете взглянуть на другую оболочку с открытым исходным кодом, такую как simple-java-mail:
В качестве альтернативы вы можете использовать JavaMail напрямую, но два приведенных выше решения представляют собой более простые и понятные способы отправки электронной почты на Java.
Чтобы следить за ответом Джона, вот пример отправки почты с использованием simple-java-mail .
Идея в том, что вам не нужно знать обо всех технических (вложенных) частях, из которых состоит электронное письмо. В этом смысле он очень похож на обычную электронную почту Apache, за исключением того, что Simple Java Mail немного проще, чем почтовый API Apache при работе с вложениями и встроенными изображениями. Средство рассылки Spring также работает, но немного неудобно в использовании (например, для него требуется анонимный внутренний класс), и, конечно, вам нужна зависимость от Spring, которая дает вам гораздо больше, чем просто простую библиотеку рассылки, поскольку на ее основе она была разработана быть решением IOC.
Simple Java Mail, кстати, является оболочкой для JavaMail API.
final Email email = new Email();
email.setFromAddress("lollypop", "lolly.pop@somemail.com");
email.setSubject("hey");
email.addRecipient("C. Cane", "candycane@candyshop.org", RecipientType.TO);
email.addRecipient("C. Bo", "chocobo@candyshop.org", RecipientType.BCC);
email.setText("We should meet up! ;)");
email.setTextHTML("<img src='cid:wink1'><b>We should meet up!</b><img src='cid:wink2'>");
// embed images and include downloadable attachments
email.addEmbeddedImage("wink1", imageByteArray, "image/png");
email.addEmbeddedImage("wink2", imageDatesource);
email.addAttachment("invitation", pdfByteArray, "application/pdf");
email.addAttachment("dresscode", odfDatasource);
new Mailer("smtp.host.com", 25, "username", "password").sendMail(email);
// or alternatively, pass in your own traditional MailSession object.
new Mailer(preconfiguredMailSession).sendMail(email);
Еще одна опция, которая обертывает Java Mail API, - это общий адрес электронной почты Apache .
От их Руководство пользователя.
SimpleEmail email = new SimpleEmail();
email.setHostName("mail.myserver.com");
email.addTo("jdoe@somewhere.org", "John Doe");
email.setFrom("me@apache.org", "Me");
email.setSubject("Test message");
email.setMsg("This is a simple test of commons-email");
email.send();
Я обычно определяю свой сеанс javamail в разделе GlobalNamingResources файла tomcat server.xml, чтобы мой код не зависел от параметров конфигурации:
<GlobalNamingResources>
<Resource name="mail/Mail" auth="Container" type="javax.mail.Session"
mail.smtp.host="localhost"/>
...
</GlobalNamingResources>
и я получаю сеанс через JNDI:
Context context = new InitialContext();
Session sess = (Session) context.lookup("java:comp/env/mail/Mail");
MimeMessage message = new MimeMessage(sess);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject, "UTF-8");
message.setText(content, "UTF-8");
Transport.send(message);
JavaMail отлично подходит, если вы можете полагаться на внешний SMTP-сервер. Если же вам нужен собственный SMTP-сервер, обратите внимание на Asprin .
использовать библиотеку Java Mail
import javax.mail.*
...
Session mSession = Session.getDefaultInstance(new Properties());
Transport mTransport = null;
mTransport = mSession.getTransport("smtp");
mTransport.connect(cServer, cUser, cPass);
MimeMessage mMessage = new MimeMessage(mSession);
mTransport.sendMessage(mMessage, mMessage.getAllRecipients());
mTransport.close();
Это усеченная версия кода, который я использую, чтобы приложение отправляло электронные письма. Очевидно, что размещение тела и получателей в сообщении перед его отправкой, вероятно, подойдет вам больше.
Местоположение репозитория maven - artifactId: javax.mail, groupId: mail.