public void generate(ServletWriter writer,
Class phase) {
boolean initial = true;
String sep = "?";
writer.println("{");
writer.pushIndent();
writer.println("String _jspx_qStr = \"\";");
writer.println("out.flush();");
if (params.size() > 0) {
Enumeration en = params.keys();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String []value = (String []) params.get(key);
if (initial == true) {
sep = "?";
initial = false;
} else sep = "&";
if (value.length == 1 && JspUtil.isExpression(value[0])) {
writer.println("_jspx_qStr = _jspx_qStr + \"" + sep +
key + "=\" + " + JspUtil.getExpr(value[0]) + ";");
} else {
if (value.length == 1) {
writer.println("_jspx_qStr = _jspx_qStr + \"" + sep +
key + "=\" + \"" + value[0] + "\";");
} else {
writer.println("String [] _tmpS = new String[" + value.length +"];");
for (int i = 0; i < value.length; i++) {
if (!JspUtil.isExpression(value[i]))
writer.println("_jspx_qStr = _jspx_qStr + \"" + sep +
key + "=\" + \"" + value[i] + "\";");
else
writer.println("_jspx_qStr = _jspx_qStr + \"" + sep +
key + "=\" +" + JspUtil.getExpr(value[i])+ ";");
if (sep.equals("?")) sep = "&";
}
}
}
}
}
if (!isExpression)
writer.println("pageContext.include(" +
writer.quoteString(page) + " + _jspx_qStr);");
else
writer.println ("pageContext.include(" +
JspUtil.getExpr(page) + " + _jspx_qStr);");
writer.popIndent();
writer.println("}");
}
|