/**
* 获取客户请求处理映射表
* put your documentation comment here
* @param root
* @return
*/
public static HashMap getRequestMappings (Element root) {
HashMap urlMappings = new HashMap();
NodeList list = root.getElementsByTagName(URL_MAPPING);
for (int loop = 0; loop < list.getLength(); loop++) {
Node node = list.item(loop);
if (node != null) {
String url = "";
String screen = null;
String useRequestHandlerString = null;
String useFlowHandlerString = null;
String requiresSigninString = null;
String flowHandler = null;
String requestHandler = null;
HashMap resultMappings = null;
boolean useFlowHandler = false;
boolean useRequestHandler = false;
boolean requiresSignin = false;
if (node instanceof Element) {
Element element = ((Element)node);
url = element.getAttribute(URL);
screen = element.getAttribute(NEXT_SCREEN);
useRequestHandlerString = element.getAttribute(USE_REQUEST_HANDLER);
useFlowHandlerString = element.getAttribute(USE_FLOW_HANDLER);
requiresSigninString = element.getAttribute(REQUIRES_SIGNIN);
}
if ((useRequestHandlerString != null) && useRequestHandlerString.equals("true"))
useRequestHandler = true;
if (useRequestHandler) {
requestHandler = getSubTagValue(node, REQUEST_HANDLER_CLASS);
}
if ((requiresSigninString != null) && requiresSigninString.equals("true"))
requiresSignin = true;
if ((useFlowHandlerString != null) && useFlowHandlerString.equals("true"))
useFlowHandler = true;
if ((useFlowHandlerString != null) && useFlowHandlerString.equals("true"))
useFlowHandler = true;
if (useFlowHandler) {
if (node instanceof Element) {
Element element = (Element)node;
NodeList children = element.getElementsByTagName(FLOW_HANDLER);
Node flowHandlerNode = null;
if (children.getLength() >= 1) {
flowHandlerNode = children.item(0);
}
if (children.getLength() > 1) {
Debug.println("Non fatal error: There can be only one <"
+ FLOW_HANDLER + "> definition in a <" +
URL_MAPPING + ">");
}
// get the flow handler details
if (flowHandlerNode != null) {
if (flowHandlerNode instanceof Element) {
Element flowElement = (Element)flowHandlerNode;
flowHandler = flowElement.getAttribute(FLOW_HANDLER_CLASS);
NodeList results = flowElement.getElementsByTagName(HANDLER_RESULT);
if (results.getLength() > 0) {
resultMappings = new HashMap();
}
for (int resultLoop = 0; resultLoop < results.getLength(); resultLoop++) {
Node resultNode = results.item(resultLoop);
if (resultNode instanceof Element) {
Element resultElement = (Element)resultNode;
String key = resultElement.getAttribute(RESULT);
String value = resultElement.getAttribute(NEXT_SCREEN);
if (!resultMappings.containsKey(key)) {
resultMappings.put(key, value);
}
else {
Debug.println("*** Non Fatal errror: Screen "
+ url + " <" + FLOW_HANDLER
+ "> key " + "\"" + key
+ "\" defined more than one time");
}
}
}
}
}
}
}
URLMapping mapping = new URLMapping(url, screen, useRequestHandler,
useFlowHandler, requestHandler, flowHandler, resultMappings,
requiresSignin);
if (!urlMappings.containsKey(url)) {
urlMappings.put(url, mapping);
}
else {
Debug.println("*** Non Fatal errror: Screen " + url + " defined more than once in screen definitions file");
}
}
}
return urlMappings;
} /**
* 获取结点subTagName的值,注意文本(#text)也是一个结点(node)
* put your documentation comment here
* @param node
* @param subTagName
* @return
*/
public static String getSubTagValue (Node node, String subTagName) {
String returnString = "";
if (node != null) {
NodeList children = node.getChildNodes();
for (int innerLoop = 0; innerLoop < children.getLength(); innerLoop++) {
Node child = children.item(innerLoop);
if ((child != null) && (child.getNodeName() != null) && child.getNodeName().equals(subTagName)) {
Node grandChild = child.getFirstChild();//获取文本结点
if (grandChild.getNodeValue() != null)
return grandChild.getNodeValue();
}
}
}
return returnString;
}
* 获取客户请求处理映射表
* put your documentation comment here
* @param root
* @return
*/
public static HashMap getRequestMappings (Element root) {
HashMap urlMappings = new HashMap();
NodeList list = root.getElementsByTagName(URL_MAPPING);
for (int loop = 0; loop < list.getLength(); loop++) {
Node node = list.item(loop);
if (node != null) {
String url = "";
String screen = null;
String useRequestHandlerString = null;
String useFlowHandlerString = null;
String requiresSigninString = null;
String flowHandler = null;
String requestHandler = null;
HashMap resultMappings = null;
boolean useFlowHandler = false;
boolean useRequestHandler = false;
boolean requiresSignin = false;
if (node instanceof Element) {
Element element = ((Element)node);
url = element.getAttribute(URL);
screen = element.getAttribute(NEXT_SCREEN);
useRequestHandlerString = element.getAttribute(USE_REQUEST_HANDLER);
useFlowHandlerString = element.getAttribute(USE_FLOW_HANDLER);
requiresSigninString = element.getAttribute(REQUIRES_SIGNIN);
}
if ((useRequestHandlerString != null) && useRequestHandlerString.equals("true"))
useRequestHandler = true;
if (useRequestHandler) {
requestHandler = getSubTagValue(node, REQUEST_HANDLER_CLASS);
}
if ((requiresSigninString != null) && requiresSigninString.equals("true"))
requiresSignin = true;
if ((useFlowHandlerString != null) && useFlowHandlerString.equals("true"))
useFlowHandler = true;
if ((useFlowHandlerString != null) && useFlowHandlerString.equals("true"))
useFlowHandler = true;
if (useFlowHandler) {
if (node instanceof Element) {
Element element = (Element)node;
NodeList children = element.getElementsByTagName(FLOW_HANDLER);
Node flowHandlerNode = null;
if (children.getLength() >= 1) {
flowHandlerNode = children.item(0);
}
if (children.getLength() > 1) {
Debug.println("Non fatal error: There can be only one <"
+ FLOW_HANDLER + "> definition in a <" +
URL_MAPPING + ">");
}
// get the flow handler details
if (flowHandlerNode != null) {
if (flowHandlerNode instanceof Element) {
Element flowElement = (Element)flowHandlerNode;
flowHandler = flowElement.getAttribute(FLOW_HANDLER_CLASS);
NodeList results = flowElement.getElementsByTagName(HANDLER_RESULT);
if (results.getLength() > 0) {
resultMappings = new HashMap();
}
for (int resultLoop = 0; resultLoop < results.getLength(); resultLoop++) {
Node resultNode = results.item(resultLoop);
if (resultNode instanceof Element) {
Element resultElement = (Element)resultNode;
String key = resultElement.getAttribute(RESULT);
String value = resultElement.getAttribute(NEXT_SCREEN);
if (!resultMappings.containsKey(key)) {
resultMappings.put(key, value);
}
else {
Debug.println("*** Non Fatal errror: Screen "
+ url + " <" + FLOW_HANDLER
+ "> key " + "\"" + key
+ "\" defined more than one time");
}
}
}
}
}
}
}
URLMapping mapping = new URLMapping(url, screen, useRequestHandler,
useFlowHandler, requestHandler, flowHandler, resultMappings,
requiresSignin);
if (!urlMappings.containsKey(url)) {
urlMappings.put(url, mapping);
}
else {
Debug.println("*** Non Fatal errror: Screen " + url + " defined more than once in screen definitions file");
}
}
}
return urlMappings;
} /**
* 获取结点subTagName的值,注意文本(#text)也是一个结点(node)
* put your documentation comment here
* @param node
* @param subTagName
* @return
*/
public static String getSubTagValue (Node node, String subTagName) {
String returnString = "";
if (node != null) {
NodeList children = node.getChildNodes();
for (int innerLoop = 0; innerLoop < children.getLength(); innerLoop++) {
Node child = children.item(innerLoop);
if ((child != null) && (child.getNodeName() != null) && child.getNodeName().equals(subTagName)) {
Node grandChild = child.getFirstChild();//获取文本结点
if (grandChild.getNodeValue() != null)
return grandChild.getNodeValue();
}
}
}
return returnString;
}
解决方案 »
- 多线程的两个程序有什么不同。。。
- Eclipse调试时,为什么断下来后就无法继续执行?
- 一个排序问题,大家帮忙看看?
- cookie实现记录用户最近浏览过的10件帖子
- 请问,jmf开发中的Manager.createPlayer的问题
- 保存的问题?在线等///
- java中能选择多个文件的组件是什么!
- 神啊救救我吧,100分相送。谁知道如何在linux下安装jdk1.3啊,我的装上怎么不正常~~~··
- 问: 如何直接用JDBC连接不在同一主机上DB2数据库
- 请问我这样设计的继承,有问题么?
- UltraEdit32永久注册码和java 配置问题
- 请问JAVA编程软件哪个好,JBUILDER还是VISUAL J++。
* 获取具体视图
* put your documentation comment here
* @param root
* @return
*/
public static HashMap getScreens (Element root) {
HashMap screens = new HashMap();
// get the template
String templateName = getTagValue(root, TEMPLATE);
screens.put(TEMPLATE, templateName);
// get screens
NodeList list = root.getElementsByTagName(SCREEN);
for (int loop = 0; loop < list.getLength(); loop++) {
Node node = list.item(loop);
if (node != null) {
String screenName = getSubTagValue(node, SCREEN_NAME);
HashMap parameters = getParameters(node);
Screen screen = new Screen(screenName, parameters);
if (!screens.containsKey(screenName)) {
screens.put(screenName, screen);
}
else {
Debug.println("*** Non Fatal errror: Screen " + screenName
+ " defined more than once in screen definitions file");
}
}
}
return screens;
} /**
* 获取具体视图的参数
* put your documentation comment here
* @param node
* @return
*/
private static HashMap getParameters (Node node) {
HashMap params = new HashMap();
if (node != null) {
NodeList children = node.getChildNodes();
for (int innerLoop = 0; innerLoop < children.getLength(); innerLoop++) {
Node child = children.item(innerLoop);
if ((child != null) && (child.getNodeName() != null) && child.getNodeName().equals(PARAMETER)) {
if (child instanceof Element) {
Element childElement = ((Element)child);
String key = childElement.getAttribute(KEY);
String value = childElement.getAttribute(VALUE);
String directString = childElement.getAttribute(DIRECT);
boolean direct = false;
if ((directString != null) && directString.equals("true")) {
direct = true;
}
if (!params.containsKey(key)) {
params.put(key, new Parameter(key, value, direct));
}
else {
Debug.println("*** Non Fatal errror: " + "Parameter "
+ key + " is defined more than once");
}
}
}
}
}
return params;
}
/**
* put your documentation comment here
* @param root
* @param tagName
* @return
*/
public static String getTagValue (Element root, String tagName) {
String returnString = "";
NodeList list = root.getElementsByTagName(tagName);
for (int loop = 0; loop < list.getLength(); loop++) {
Node node = list.item(loop);
if (node != null) {
Node child = node.getFirstChild();
if ((child != null) && child.getNodeValue() != null)
return child.getNodeValue();
}
}
return returnString;
}
}
编译的错误: D:\tomcat\webapps\excel\WEB-INF\classes\mvc>javac xmlparser.java
xmlparser.java:78: cannot resolve symbol
symbol : class ScreenFlowData
location: class mvc.XmlParser
public static ScreenFlowData loadScreenFlowData (String location) {
^
xmlparser.java:58: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("XmlParser ** Parsing error" + ", line " +
^
xmlparser.java:60: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("XmlParser error: " + err.getMessage());
^
xmlparser.java:62: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("XmlParser error: " + e);
^
xmlparser.java:64: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("XmlParser error: " + mfx);
^
xmlparser.java:66: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("XmlParser error: " + e);
^
xmlparser.java:68: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("XmlParser error: " + pce);
^
xmlparser.java:83: cannot resolve symbol
symbol : class ScreenFlowData
location: class mvc.XmlParser
return new ScreenFlowData(screenDefinitionMappings, defaultScreen,
^
xmlparser.java:149: cannot resolve symbol
symbol : variable LANGUAGE
location: class mvc.XmlParser
language = ((Element)node).getAttribute(LANGUAGE);
^
xmlparser.java:156: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("*** Non Fatal errror: ScreenDefinitions for l
anguage "
^
xmlparser.java:182: cannot resolve symbol
symbol : class Screen
location: class mvc.XmlParser
Screen screen = new Screen(screenName, parameters);
^
xmlparser.java:182: cannot resolve symbol
symbol : class Screen
location: class mvc.XmlParser
Screen screen = new Screen(screenName, parameters);
^
xmlparser.java:187: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("*** Non Fatal errror: Screen " + screenName
^
xmlparser.java:218: cannot resolve symbol
symbol : class Parameter
location: class mvc.XmlParser
params.put(key, new Parameter(key, value, direct));
^
xmlparser.java:221: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("*** Non Fatal errror: " + "Parameter
"
^
xmlparser.java:287: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("Non fatal error: There can be only on
e <"
^
xmlparser.java:310: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("*** Non Fatal errror:
Screen "
^
xmlparser.java:321: cannot resolve symbol
symbol : class URLMapping
location: class mvc.XmlParser
URLMapping mapping = new URLMapping(url, screen, useRequestHandl
er,
^
xmlparser.java:321: cannot resolve symbol
symbol : class URLMapping
location: class mvc.XmlParser
URLMapping mapping = new URLMapping(url, screen, useRequestHandl
er,
^
xmlparser.java:328: cannot resolve symbol
symbol : variable Debug
location: class mvc.XmlParser
Debug.println("*** Non Fatal errror: Screen " + url + " defi
ned more than once in screen definitions file");
^
20 errors能详细解释一下吗?
变量的话,自己查一下程序,有没有写错
类的话,看一下是不是有些类没有import