1 29 30 package com.caucho.servlets.ssi; 31 32 import com.caucho.vfs.Path; 33 import com.caucho.vfs.WriteStream; 34 35 import javax.servlet.ServletException ; 36 import javax.servlet.http.HttpServletRequest ; 37 import javax.servlet.http.HttpServletResponse ; 38 import java.io.IOException ; 39 import java.util.HashMap ; 40 41 44 public class SetStatement extends Statement{ 45 private final String _var; 46 private final SSIExpr _value; 47 48 private SetStatement(String var, SSIExpr value) 49 { 50 _var = var; 51 _value = value; 52 } 53 54 static Statement create(HashMap <String ,String > attr, Path path) 55 { 56 String var = attr.get("var"); 57 58 if (var == null) 59 return new ErrorStatement("['var' is a required attribute of #set]"); 60 61 String value = attr.get("value"); 62 63 if (value == null) 64 return new ErrorStatement("['value' is a required attribute of #set]"); 65 66 return new SetStatement(var, ExprParser.parseString(value, path)); 67 } 68 69 76 public void apply(WriteStream out, 77 HttpServletRequest request, 78 HttpServletResponse response) 79 throws IOException , ServletException 80 { 81 request.setAttribute(_var, _value.evalString(request, response)); 82 } 83 } 84 | Popular Tags |