struts1的总结
来源:互联网 发布:外文五大数据库 编辑:程序博客网 时间:2024/05/01 09:46
为以后用到的时候有个参照,仅此而已。
框架:struts1+Spring
情形(1)从后台取出数据放入select中并默认选中之前选的
<select name="fullname" style="width: 140px;"class="selectWidth" id="fullname" onChange="changeName()"> <option value="0"></option><logic:iterate id="list" name="names"><option value="<bean:write name="list" property="employeeid"/>" <c:if test="${app.employeeid==list.employeeid }">selected </c:if> > <bean:write name="list" property="employeeName" /></option></logic:iterate></select>
说明一点,后台是request.setAttribute("names",names),所以这里name=“names”即是要遍历的后台request里的List,便利出来的对象定义为list (id="list")
<bean:write name="list" property="employeeid" />即取出对象的employeeid属性
这里需要注意,struts1也是支持ognl的,网上有好多人说不可以,但这却真真实实的“${app.fullname==list.employeeid}”可以,您也可以在百度里看jstl中也有跟el的混合使用。
情形(2) 点击某个链接 显示或隐藏
<div onClick='showhidediv("msg")' id="unfold" >+show or hidden</div>
<tbody id="msg" style="display:none;" mce_style="display:none;">
。。。。。。<!--这里是需要显示或者隐藏的-->
</tbody>
js代码:
function showhidediv(id){
var sbtitle=document.getElementById(xx);
var unfold=document.getElementById("xx");
if(sbtitle){
if(sbtitle.style.display=='block'){
sbtitle.style.display='none';
unfold.innerHTML="+show";
}else{
sbtitle.style.display='block';
unfold.innerHTML="-hidden";
}
}
}
情形3 ajax实现选择某人后出现此人信息
function changeName(){
var em_id = document.getElementById("xx").value;
var urlStr = "<%=WEBPATH%>/changeName.fb?em_id="+em_id;
var xmlhttp;
if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{ // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
var mid = xmlhttp.responseText;
var buf = mid.split("$$");
var str=buf[1].split(";;");
var out = document.getElementById("xx");
out.options.length=0;
var ojobRole = document.getElementById("xx");
var owork = document.getElementById("owork");
for(var i=0;i<str.length-1;i++){
var proj=str[i].split(",");
out.options.add(new Option(proj[2],proj[0]));
ojobRole.value=proj[1];
owork.value=proj[3];
}
}
}
xmlhttp.open("get",urlStr,true);
xmlhttp.send(em_id);
}
是$$数据1;数据2;....$$
所以这里进行了分割传回的数据
情形4 用Spring发送邮件
先配置邮件的邮箱
mail.smtp.auth=true mail.smtp.timeout=25000 mail.smtp.starttls.enable=true mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory mail.smtp.socketFactory.fallback=false email.smtpHost=smtp.gmail.comemail.port=465email.from=xx@gmail.comemail.username=xx@gmail.comemail.password=xx
下面定义发送邮件的类
public class NewEmailSender implements Runnable {//get info from resource filestatic String host=ResourceBundle.getBundle("email").getString("email.smtpHost");static String port=ResourceBundle.getBundle("email").getString("email.port");static String mailFrom=ResourceBundle.getBundle("email").getString("email.from");final static String username =ResourceBundle.getBundle("email").getString("email.username");final static String password = ResourceBundle.getBundle("email").getString("email.password");private List<String> mailTo;private List<String> cc;private String subject;private String msgContent;public NewEmailSender(){}public NewEmailSender(List<String> mailTo,List<String> cc,String subject,String msgContent){this.mailTo=mailTo;this.cc=cc;this.subject=subject;this.msgContent=msgContent;}public static Session getMailSession(){String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";Properties props = System.getProperties();props.setProperty("mail.smtp.host", host);props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);props.setProperty("mail.smtp.socketFactory.fallback", "false");props.setProperty("mail.smtp.port", port);props.setProperty("mail.smtp.socketFactory.port", port);props.put("mail.smtp.auth", "true");Session sendMailSession= Session.getInstance(props, new Authenticator(){protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password);}});return sendMailSession;}public void sentEmail(List<String> mailTo,List<String> cc,String subject,String msgContent){try{Session sendMailSession=getMailSession();Message msg = new MimeMessage(sendMailSession);msg.setFrom(new InternetAddress(username));// set the mailTo recipientsInternetAddress[] address = new InternetAddress[mailTo.size()];for (int i = 0; i<mailTo.size(); ++i){address[i] = new InternetAddress(mailTo.get(i));}msg.setRecipients(Message.RecipientType.TO, address); // set the cc recipientsif (cc != null){System.out.println("bcc:"+cc.size());address = new InternetAddress[cc.size()];for (int i = 0; i<cc.size(); ++i){address[i] = new InternetAddress(cc.get(i));}msg.setRecipients(Message.RecipientType.CC, address);} /****/msg.setSubject(subject);//msg.setText(msgContent);msg.setContent(msgContent, "text/html");msg.setSentDate(new Date());Transport.send(msg);System.out.println("Message sent.");} catch(MessagingException m) { System.out.println(m.toString()); }}@Overridepublic void run() {sentEmail(mailTo, cc,subject, msgContent);}}
下面用到发送邮件的地方,比如一些事件完成 调用这个类
List<String> mailTo=new ArrayList();//要发送的目的邮箱List<String> cc=new ArrayList();//抄送的邮箱.....这里把邮箱的List放入mailTo和cc 比如mailTo.add(xx@gmail.com);String subject="xxxxx";//邮件的主题 StringBuffer sb=new StringBuffer(); //邮件的内容sb.append("xxxxx"); NewEmailSender sender=new NewEmailSender(mailTo, cc, subject, sb.toString()); //参数分别为目标邮箱,抄送邮箱,主题,内容 Thread t = new Thread(sender); //定义线程 发送 t.start();
这样就可以发送了,默认是从配置文件里的邮箱给这个邮箱发
- struts1的总结
- struts1和struts2的总结
- struts1总结
- struts1 总结
- struts1总结
- struts1总结
- struts1总结
- struts1总结
- Struts1总结
- struts1总结
- Struts1.2使用的一些总结
- 04、 struts1 总结 一个简单的计数器
- 总结了Struts1与Struts2的区别
- 总结了Struts1与Struts2的区别
- 总结了Struts1与Struts2的区别
- Struts1和struts2的区别(总结)?
- struts1和2的区别总结
- struts1的
- 游戏王千金囊开发实录四——考题主窗体
- 从网页上提取用户邮箱为每个邮箱发送一封邮件
- 导入项目后,报错Missing library:xdoclet…ctory for XDoclet. 1.2.1
- UVA 340 Master-Mind Hints
- Oracle 11g 新特性 Active Database Duplicate
- struts1的总结
- Android中一个Activity多个intent-filter的调用方法
- cocos2d-html5学习笔记(二)——cocos2d中的layer
- ubuntu下配置jdk,ssh,hadoop
- 使用.net 程序生成 Excel 和Access 文件 .
- 和菜鸟一起学OK6410之蜂鸣器buzzer字符驱动
- 从头再学html4
- 使用字符流来读写汉字
- 联想A65 root--“山重’水复”篇