📄 basetag.java
字号:
for (int i = 0; i < indent; i++)
this.stringBuffer.append(BaseTag.INDENTSIZE);
this.appendMessage(s);
}
public String getMessage() {
return this.stringBuffer.toString();
}
public void clearMessage() {
this.stringBuffer.delete(0, this.stringBuffer.length());
}
public void outputXMLMessage() {
try {
log.debug(this.stringBuffer.toString());
this.writer.print(this.stringBuffer.toString());
} catch (Exception e) {
e.printStackTrace();
this.print("outputMessage 方法异常 : " + e.getMessage());
}
}
public void outputMessage() {
try {
log.debug("xml:=============>\n" + this.stringBuffer.toString());
if (this.check(this.getParameter(SHOWXML))){
this.outputHTMLMessage();
System.out.println("xml:====>\n" + this.stringBuffer.toString());
}
else{
this.outputXMLMessage();
log.debug("xml:======>\n" + this.stringBuffer.toString());
}
} catch (Exception e) {
e.printStackTrace();
this.print("outputMessage 方法异常 : " + e.getMessage());
}
}
public void outputStandardErrorMessage() {
this.clearMessage();
this.appendMessage("<root>");
this.appendMessage(" <system>");
this.appendMessage(" <appMessage> ");
this.appendMessage(" <message>失去信息,请重新登陆!</message>");
this.appendMessage(" <ResultMsg>错误提示 : </ResultMsg>");
this.appendMessage(" </appMessage>");
this.appendMessage(" </system>");
this.appendMessage("</root>");
this.outputMessage();
}
private String exchangeStrParam(String paramValue) {
pc = new ParamChecking();
if (!this.check(paramValue)) {
paramValue = pc.exchangeParam(paramValue);
paramValue = paramValue.trim();
} else {
paramValue = "";
}
return paramValue;
}
private String[] exchangeStrParam(String[] paramValue) {
pc = new ParamChecking();
if (!this.check(paramValue)) {
for (int i = 0; i < paramValue.length; i++) {
paramValue[i] = pc.exchangeParam(paramValue[i]);
}
paramValue = this.trim(paramValue);
} else {
paramValue = new String[0];
}
return paramValue;
}
public void crazyChangeEncode(String str) {
try {
System.out.println("转码1 :结果为 : " + new String(str.getBytes("UTF-8"), "gbk"));
System.out.println("转码2 :结果为 : " + new String(str.getBytes("UTF-8"), "gb2312"));
System.out.println("转码3 :结果为 : " + new String(str.getBytes("UTF-8"), "8859_1"));
System.out.println("转码4 :结果为 : " + new String(str.getBytes("gb2312"), "UTF-8"));
System.out.println("转码5 :结果为 : " + new String(str.getBytes("gb2312"), "gbk"));
System.out.println("转码6 :结果为 : " + new String(str.getBytes("gb2312"), "8859_1"));
System.out.println("转码7 :结果为 : " + new String(str.getBytes("8859_1"), "gbk"));
System.out.println("转码8 :结果为 : " + new String(str.getBytes("8859_1"), "gb2312"));
System.out.println("转码9 :结果为 : " + new String(str.getBytes("8859_1"), "UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}
}
public void crazyChangeEncode(String strName, String str) {
try {
System.out.println("转码1 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("UTF-8"), "gbk"));
System.out.println("转码2 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("UTF-8"), "gb2312"));
System.out.println("转码3 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("UTF-8"), "8859_1"));
System.out.println("转码4 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("gb2312"), "UTF-8"));
System.out.println("转码5 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("gb2312"), "gbk"));
System.out.println("转码6 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("gb2312"), "8859_1"));
System.out.println("转码7 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("8859_1"), "gbk"));
System.out.println("转码8 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("8859_1"), "gb2312"));
System.out.println("转码9 :参数为 : " + strName + " 结果为 : " + new String(str.getBytes("8859_1"), "UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 判断字符串是否为数字
* @param param 待判断字符串
* @return true 是字符串 false 不是字符串
*/
public boolean isNum(String param) {
//为空打回
if (this.check(param))
return false;
//整句出现两个 - 号或两个 . 号打回
if ((param.indexOf("-") != param.lastIndexOf("-")) || (param.indexOf(".") != param.lastIndexOf(".")))
return false;
//参数长度为1时以 - 号或 . 号打回
if (param.length() == 1) {
if (param.substring(0).equalsIgnoreCase("-") || param.substring(0).equalsIgnoreCase("."))
return false;
}
//参数长度大于2时以 - 号开始,但以 . 号跟随打回,加长度判断避免越界异常
if (param.length() >= 2) {
if (param.startsWith("-") && param.substring(1, 2).equalsIgnoreCase("."))
return false;
}
//判断是否以 . 开始,- 未出现在第一位置,不在数字界限内,错误打回
for (int i = 0; i < param.length(); i++) {
String sNum = param.substring(i, i + 1);
if (i == 0 && sNum.equals("."))
return false;
if (i != 0 && sNum.equals("-"))
return false;
int flag = NUMBER.indexOf(sNum);
if (flag == -1)
return false;
}
return true;
}
/**
* 判断字符串是否为数字
* @param param 待判断字符串
* @return true 是字符串 false 不是字符串
*/
public boolean isNum2(String param) {
//整句出现两个 - 号或两个 . 号打回
if ((param.indexOf("-") != param.lastIndexOf("-")) || (param.indexOf(".") != param.lastIndexOf(".")))
return false;
//参数长度为1时以 - 号或 . 号打回
if (param.length() == 1) {
if (param.substring(0).equalsIgnoreCase("-") || param.substring(0).equalsIgnoreCase("."))
return false;
}
//参数长度大于2时以 - 号开始,但以 . 号跟随打回,加长度判断避免越界异常
if (param.length() >= 2) {
if (param.startsWith("-") && param.substring(1, 2).equalsIgnoreCase("."))
return false;
}
//判断是否以 . 开始,- 未出现在第一位置,不在数字界限内,错误打回
for (int i = 0; i < param.length(); i++) {
String sNum = param.substring(i, i + 1);
if (i == 0 && sNum.equals("."))
return false;
if (i != 0 && sNum.equals("-"))
return false;
int flag = NUMBER.indexOf(sNum);
if (flag == -1)
return false;
}
return true;
}
/**
* Returns the xslUri.
* @return String
*/
public String getXslUri() {
return xslUri;
}
/**
* Sets the xslUri.
* @param xslUri The xslUri to set
*/
public void setXslUri(String xslUri) {
this.xslUri = xslUri;
}
/**
* Returns the xslCache.
* @return boolean
*/
public boolean isXslCache() {
return xslCache;
}
/**
* Sets the xslCache.
* @param xslCache The xslCache to set
*/
public void setXslCache(boolean xslCache) {
//TODO this.xslCache = xslCache;
this.xslCache = false;
}
public void outputHTMLMessage() {
Transformer transformer = com.seavision.PermissionManage.common.XMLUtil.getTransformer(pageContext.getServletContext(), xslUri, xslCache);
//获得domcment
Document document = parse();
DOMSource source = new DOMSource(document);
try {
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
transformer.transform(source, result);
sw.flush();
this.writer.print(sw.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
public static Transformer getTransformer(String path) {
try {
TransformerFactory tf = TransformerFactory.newInstance();
Templates templates = null;
URL url = new URL(path);
if (url == null)
throw new IllegalArgumentException("stylesheet \"" + path + "\" not found");
templates = tf.newTemplates(new StreamSource(url.toExternalForm()));
return templates.newTransformer();
} catch (Exception e) {
return null;
}
}
public Document parse() {
try {
//InputSource src = new InputSource(url.openStream());
//InputSource src = new InputSource(url.toExternalForm());
byte[] buf = (stringBuffer.toString()).getBytes("UTF-8");
//or GB2312 ...
InputStream is = new ByteArrayInputStream(buf);
// System.out.println("==============is=============================>"+is);
return getParser().parse(is);
} catch (IOException e) {
e.printStackTrace();
return null;
} catch (SAXException e) {
e.printStackTrace();
return null;
}
}
private static void save(OutputStream out, String file) {
File f = new File(file);
try {
if (!f.exists()) {
f.createNewFile();
}
FileOutputStream output = new FileOutputStream(f);
ByteArrayOutputStream bo = (ByteArrayOutputStream)(out);
bo.writeTo(output);
} catch (Exception e) {
System.out.println("Error occupied when saving file.");
}
}
public static DocumentBuilder getParser() {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(false);
dbf.setExpandEntityReferences(true);
return dbf.newDocumentBuilder();
} catch (FactoryConfigurationError e) {
e.printStackTrace();
return null;
} catch (ParserConfigurationException e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
BaseTag bt = new BaseTag();
bt.doTest();
}
public void doTest() {
String xslPath = "file:///D:/JBProject/InsteadCocoon/Login.xsl";
Transformer transformer = getTransformer(xslPath);
//获得domcment
//String xmlPath = "file:///D:/JBProject/InsteadCocoon/index.xml";
Document document = parse();
DOMSource source = new DOMSource(document);
try {
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
transformer.transform(source, result);
sw.flush();
System.out.println(sw.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -