Sha256: 765aa92e7250222761d58708372014e6ac9dfb7a77c9a46fe9b54c977945ffe6
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
import java.util.HashMap import java.util.regex.Pattern import javax.servlet.http.HttpServlet import com.google.appengine.api.datastore.Text import com.google.appengine.ext.duby.db.Model class Post < Model property 'title', String property 'body', Text end class MirahApp < HttpServlet def_edb(list, 'org/mirah/list.dhtml') def doGet(request, response) @posts = Post.all.run response.getWriter.write(list) end def doPost(request, response) post = Post.new post.title = request.getParameter('title') post.body = request.getParameter('body') post.save doGet(request, response) end def initialize @escape_pattern = Pattern.compile("[<>&'\"]") @escaped = HashMap.new @escaped.put("<", "<") @escaped.put(">", ">") @escaped.put("&", "&") @escaped.put("\"", """) @escaped.put("'", "'") end def h(text:String) return "" unless text matcher = @escape_pattern.matcher(text) buffer = StringBuffer.new while matcher.find replacement = String(@escaped.get(matcher.group)) matcher.appendReplacement(buffer, replacement) end matcher.appendTail(buffer) return buffer.toString end def h(o:Object) return "" unless o h(o.toString) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mirah-0.0.4-java | examples/appengine/src/org/mirah/MirahApp.mirah |