imageserviceencoder.java

来自「Enjoy Web Dev With Tapestry 一书的源代码」· Java 代码 · 共 35 行

JAVA
35
字号
package com.ttdev.album;

import org.apache.tapestry.engine.*;

public class ImageServiceEncoder implements ServiceEncoder {

	public void encode(ServiceEncoding encoding) {
		String service = encoding.getParameterValue("service");
		if (!service.equals("image")) {
			return;
		}
		String imageId = encoding.getParameterValue("imageId");
		encoding.setServletPath("/images/" + imageId + ".jpg");
		encoding.setParameterValue("service", null);
		encoding.setParameterValue("imageId", null);
	}

	public void decode(ServiceEncoding encoding) {
		String path = encoding.getServletPath();
		if (!path.equals("/images")) {
			return;
		}
		String filename = encoding.getPathInfo().substring(1);
		// if (!path.startsWith("/images/")) {
		// return;
		// }
		// String filename = path.substring(8);
		String imageId = filename.substring(0, filename.length() - 4);
		encoding.setServletPath("/app");
		encoding.setParameterValue("service", "image");
		encoding.setParameterValue("imageId", imageId);
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?