imageserviceencoder.java

来自「Tapestry的一个练习例子」· Java 代码 · 共 29 行

JAVA
29
字号
package com.ttdev.updown;

import org.apache.tapestry.engine.ServiceEncoder;
import org.apache.tapestry.engine.ServiceEncoding;

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);
		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 + -
显示快捷键?