페이지 나누기 연습 (2) (ssh+freemarker)
7930 단어 freemarkerstrutsExcelOSssh
function unselectall(){
if(document.form2.all.checked){
document.form2.all.checked =false;
}
}
function checkall(form){
for (var i=0;i<form.elements.length;i++){
var e = form.elements[i];
if (e.Name != 'all'&&e.disabled==false)
e.checked = form.all.checked;
}
}
function deluser(currentPage,pageSize){
document.form2.action="deluser.action?page.currentPage="+currentPage+"&page.pageSize="+pageSize;
// userModel.delib
document.form2.submit();
}
6. 사용자가 셀을 클릭하면 됩니다.
function redirecAction(uid){
document.form2.action="toLookPage.action?userModel.uid="+uid;
document.form2.submit();
}
<td onclick="redirecAction('${x[0]?if_exists}');">
7. 중국어 디코딩을 해결하고 UTF-8로 통일합니다.
1)、struts.properties struts.i18n.encoding=UTF-8 struts.locale=zh_CN
2)、freemarker.properties locale=zh_CN default_encoding=UTF-8 3)、struts.xml
<?xml version="1.0" encoding="UTF-8"?>
4)、html
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<form id="from3" name="from3" action="changpagesize.action" method="post">
5), jsp 관련 중국어 코드가 있으면 필터를 추가해야 합니다.
a) 、web.xml(SetCharacterEncoding.java 및 SetCharacterEncodingFilter.java)
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>nn.bbs.common.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
또는
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>nn.bbs.common.SetCharacterEncoding</filter-class>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
b)、jsp
<%@ page language="java" contentType="text/html;charset=utf-8"%>
8. 표의 미화, 마우스가 특정한 칸을 지정하여 표시..참조
9. freemarker로 select를 조작하면 사용자의 시 이름, 성 이름을 표시합니다.
<select id="A" onfocus="getProvince();" onchange="getCity(this.value)">
<#if userModel.shengname?exists>
<option >${userModel.shengname?if_exists}</option>
<#else>
<option> </option>
</#if>
</select>
<select id="B" name="userModel.shiid">
<#if userModel.shiname?exists>
<option>${userModel.shiname?if_exists}</option>
<#else>
<option> </option>
</#if>
</select>
10. 한 페이지의 데이터를 Excel 파일로 저장합니다.
1)、struts-user.xml
<!-- Excel -->
<action name="excel" method="getexcel" class="userAction">
<result name="excel" type="stream">
<param name="contentType">application/vnd.ms-excel</param> <!-- ContentType -->
<param name="inputName">excelStream</param> <!-- Action -->
<param name="contentDisposition">filename="standard.xls"</param>
<param name="bufferSize">1024</param>
</result>
</action>
2)、UserAction.java
// Ecxel
public String getexcel() throws Exception {
excelStream=userService.gettheInputStream();
return "excel";
}
3)、UserServerImpl.java
// Excel
public InputStream gettheInputStream(){
//create excel report
//first create workbook
HSSFWorkbook workBook = new HSSFWorkbook();
//create sheet
HSSFSheet sheet = workBook.createSheet("UserSheet");
//create row ,
HSSFRow row = sheet.createRow(0);
//create cell
HSSFCell cell=null;
String[] starr={" "," "," "," "," "," "," "," "," "};
for(int i=0;i<starr.length;i++){
cell = row.createCell((short)i);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(starr[i]);
//System.out.print(i+1);
//System.out.println(starr[i]);
}
ActionContext ctx = ActionContext.getContext();
Map m=ctx.getSession();
List list=new ArrayList();
list=(List) m.get("gettheexcel");
for(int i=0;i<list.size();i++){
Object[] obj=(Object[])list.get(i);
row = sheet.createRow(i + 1);
for(int j=0;j<starr.length;j++){
cell = row.createCell((short)j);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if(j==0){
cell.setCellValue(i+1);
}
else{
if(j==7){
cell.setCellValue(((Date)obj[j]).toString());
}
else{
cell.setCellValue((String)obj[j]);
}
}
}
System.out.println((String)obj[0]+" "+(String)obj[1]+" "+(String)obj[2]+" "+(String)obj[3]+" "+(String)obj[4]+" "+(String)obj[1]+" "+(String)obj[6]+" "+((Date)obj[7]).toString()+" "+(String)obj[8]);
}
ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
// workBook
workBook.write(os);
} catch (IOException e) {
e.printStackTrace();
}
//
byte[] content = os.toByteArray();
InputStream excelStream = new ByteArrayInputStream(content);
return excelStream;
}
매번 하나의 기능을 완성할 때마다 사람을 기쁘게 한다.초라하게 만들었어, 어쨌든 연습이잖아.구체적인 코드는 첨부 파일 ssh_ 다운로드bbs.rar,'문장 관리'-->'lib'-->'ssb가 실행하는 가방'에 있는 부적절한 점이 있으면 여러분이 지적해 주십시오!
보: 나중에 나는 모델 드라이브로 코드를 개선하고list로 수정했다.size () = 0에 다음 페이지, 첫 페이지, currentPage = 1의 문제가 표시됩니다.변경된 코드는 첨부 파일'새.rar'에 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
페이지 나누기 연습 (2) (ssh+freemarker)5, 그룹 삭제 기능, checkbox를 통해 선택. 6. 사용자가 셀을 클릭하면 됩니다. 7. 중국어 디코딩을 해결하고 UTF-8로 통일합니다. 1)、struts.properties struts....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.