SysPropertyAction.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. package com.key.dwsurvey.action;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.io.OutputStreamWriter;
  8. import java.util.List;
  9. import java.util.Map;
  10. import java.util.Properties;
  11. import javax.servlet.ServletContext;
  12. import javax.servlet.http.HttpServletRequest;
  13. import com.itextpdf.text.log.SysoCounter;
  14. import org.apache.struts2.convention.annotation.Namespace;
  15. import org.apache.struts2.convention.annotation.Namespaces;
  16. import org.apache.struts2.convention.annotation.Result;
  17. import org.apache.struts2.convention.annotation.Results;
  18. import com.key.common.base.action.CrudActionSupport;
  19. import com.key.common.utils.web.Struts2Utils;
  20. import com.opensymphony.xwork2.ActionSupport;
  21. /**
  22. * 系统配置
  23. * @author KeYuan(keyuan258@gmail.com)
  24. *
  25. * https://github.com/wkeyuan/DWSurvey
  26. * http://dwsurvey.net
  27. *
  28. */
  29. @Namespaces({@Namespace("/sy/system"),@Namespace("/sy/system/nosm")})
  30. //@InterceptorRefs({ @InterceptorRef("paramsPrepareParamsStack") })
  31. @Results({
  32. @Result(name=CrudActionSupport.INPUT,location="/WEB-INF/page/content/diaowen-system/property-input.jsp",type=Struts2Utils.DISPATCHER),
  33. @Result(name=CrudActionSupport.SUCCESS,location="/sy/system/sys-property!input.action",type=Struts2Utils.REDIRECT)
  34. })
  35. public class SysPropertyAction extends ActionSupport{
  36. @Override
  37. public String input() throws Exception {
  38. HttpServletRequest request = Struts2Utils.getRequest();
  39. String fileName="site.properties";
  40. ServletContext sc = Struts2Utils.getSession().getServletContext();
  41. String filePath = "/WEB-INF/classes/conf/site/".replace("/", File.separator);
  42. String fileRealPath = sc.getRealPath("/")+filePath+fileName;
  43. File file=new File(fileRealPath);
  44. InputStreamReader fr = new InputStreamReader(new FileInputStream(file),"UTF-8");
  45. Properties p = new Properties();
  46. try {
  47. p.load(fr);
  48. fr.close();
  49. String adminEmail = p.getProperty("adminEmail");
  50. String adminQQ = p.getProperty("adminQQ");
  51. String adminTelephone = p.getProperty("adminTelephone");
  52. String icpCode = p.getProperty("icpCode");
  53. String tongjiCode = p.getProperty("tongjiCode");
  54. String loginBgImg = p.getProperty("loginBgImg");
  55. request.setAttribute("adminEmail", adminEmail);
  56. request.setAttribute("adminQQ", adminQQ);
  57. request.setAttribute("adminTelephone", adminTelephone);
  58. request.setAttribute("icpCode", icpCode);
  59. request.setAttribute("tongjiCode", tongjiCode);
  60. request.setAttribute("loginBgImg", loginBgImg);
  61. } catch (IOException e1) {
  62. e1.printStackTrace();
  63. }
  64. return INPUT;
  65. }
  66. public String save() throws Exception {
  67. //管理员邮箱
  68. String adminEmail = Struts2Utils.getParameter("adminEmail");
  69. //管理员QQ
  70. String adminQQ = Struts2Utils.getParameter("adminQQ");
  71. //管理员电话
  72. String adminTelephone = Struts2Utils.getParameter("adminTelephone");
  73. //网站备案信息代码
  74. String icpCode = Struts2Utils.getParameter("icpCode");
  75. //网站备案信息代码
  76. String tongjiCode = Struts2Utils.getParameter("tongjiCode");
  77. String loginBgImg = Struts2Utils.getParameter("loginBgImg");
  78. // SysProperty sysProperty = new SysProperty();
  79. // sysProperty.setSiteName(siteName);
  80. // sysProperty.setLogoPath(logoPath);
  81. // sysProperty.setAdminEmail(adminEmail);
  82. // sysProperty.setAdminQQ(adminQQ);
  83. // sysProperty.setAdminTelephone(adminTelephone);
  84. // sysProperty.setIcpCode(icpCode);
  85. String siteFilePath = "/WEB-INF/classes/conf/site/site.properties".replace("/", File.separator);
  86. StringBuffer siteData=new StringBuffer();
  87. siteData.append("\r\nadminEmail=").append(adminEmail);
  88. siteData.append("\r\nadminQQ=").append(adminQQ);
  89. siteData.append("\r\nadminTelephone=").append(adminTelephone);
  90. siteData.append("\r\nicpCode=").append(icpCode);
  91. siteData.append("\r\ntongjiCode=").append(tongjiCode);
  92. siteData.append("\r\nloginBgImg=").append(loginBgImg);
  93. writeData(siteFilePath, siteData.toString());
  94. //写LOGO DATA文件
  95. String headerData="<a href=\"${ctx }\"><img alt=\"\" src=\"${ctx }/images/logo/LOGO.png\" align=\"middle\" height=\"46\" ><span class=\"titleTempSpan\">OSS</span></a> ";
  96. String headerDataPath="/WEB-INF/page/layouts/logo-img.jsp".replace("/", File.separator);
  97. writeData(headerDataPath, headerData);
  98. if(adminTelephone!=null && adminEmail!=null){
  99. //写footer文件
  100. String footer1="<div class=\"dw_footcopy\" style=\"font-size: 16px;color: gray;\"><p style=\"margin-bottom: 6px;\">"
  101. +"邮箱:"+adminEmail+"&nbsp;&nbsp;&nbsp;电话:"+adminTelephone+"&nbsp;&nbsp;&nbsp;"
  102. +"<a href=\"/\" style=\"color: gray;font-size: 16px;\">"+icpCode+"</a></p></div>";
  103. String footerPath="/WEB-INF/page/layouts/footer-1.jsp".replace("/", File.separator);
  104. writeData(footerPath, footer1);
  105. String adminInfo="<div style=\"color: gray;\"><h3 style=\"line-height: 40px;\">联系信息</h3><p style=\"line-height: 40px;\">邮箱:"+adminEmail+"</p><p style=\"line-height: 40px;\">电话:"+adminTelephone+"</p><p style=\"line-height: 40px;\">"+icpCode+"</p></div>";
  106. String adminInfoPath="/WEB-INF/page/layouts/admin-info.jsp".replace("/", File.separator);
  107. writeData(adminInfoPath, adminInfo);
  108. }
  109. if(loginBgImg!=null){
  110. String loginbgimg="<div class=\"m-logbg\"><img src=\"${ctx }"+loginBgImg+"\" style=\"margin-top:0px; margin-left: 0px; opacity: 1;\" width=\"100%\" ></div>";
  111. String loginbgimgPath="/WEB-INF/page/layouts/loginbgimg.jsp".replace("/", File.separator);
  112. writeData(loginbgimgPath, loginbgimg);
  113. }
  114. return SUCCESS;
  115. }
  116. private void writeData(String filePath,String data) {
  117. OutputStreamWriter fw = null;
  118. try {
  119. ServletContext sc = Struts2Utils.getSession().getServletContext();
  120. String fileRealPath = sc.getRealPath("/") + filePath;
  121. File file = new File(fileRealPath);
  122. if (!file.exists()) {
  123. file.createNewFile();
  124. }
  125. fw = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
  126. fw.write("<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\" %>");
  127. fw.write(data);
  128. } catch (Exception e) {
  129. e.printStackTrace();
  130. } finally {
  131. if (fw != null) {
  132. try {
  133. fw.close();
  134. } catch (IOException e) {
  135. e.printStackTrace();
  136. }
  137. }
  138. }
  139. }
  140. }