Desde la pequeña demostración en la sección anterior, descubrimos cómo conectarnos con el proceso de pago de Yibao y Yibao. En esta sección, hagamos la página de pago e importemos los iconos bancarios a la página.
1. Ícono del banco de tiendas
Los iconos bancarios generalmente no siempre se cargan porque estas cosas están muertas. No es necesario cargar íconos bancarios cada vez que ingrese la página de pago, para que el rendimiento se vea afectado en cierta medida. Esto nos recuerda la carga anterior de datos de la página de inicio. De hecho, es lo mismo que eso. Podemos cargar el recurso de icono bancario en la aplicación cuando se inicia el proyecto. Después de eso, se puede usar directamente en el dominio de la aplicación. Entonces, como antes, cargamos el ícono del banco en el oyente.
El funcionario del ícono del banco Yibao nos proporcionará, por lo que lo que debemos hacer es poner estos íconos en una carpeta bajo el proyecto. Los coloqué en Webroot/Files/Bankimages. Los nombres de estos íconos se llaman estrictamente de acuerdo con los nombres oficiales requeridos por Yibao. Como se ve en la sección anterior, ICBC lo llamó ICBC-Net.gif.
La idea de cargar iconos es la siguiente:
1) Primero, obtenga los nombres de todos los iconos del directorio especificado y filtre los archivos innecesarios. Este filtrado es muy importante porque si hay algunos archivos adicionales o archivos ocultos, todos los hemos obtenido, y luego aparecerán algunas cosas extrañas cuando la recepción los muestre, por lo que solo tenemos iconos útiles.
2) En segundo lugar, después de obtener los nombres de los iconos, los colocamos en una matriz o colección, y luego almacenamos la matriz o colección en el campo de la aplicación, es obvio. El segundo paso se implementa en el oyente. El primer paso es que podemos escribir una nueva clase de herramientas nosotros mismos, o podemos completarla en la clase FileUploadutil que escribimos antes.
1.1 Obtenga el nombre del icono
Agregamos el código para obtener el nombre del icono en fileUploadutil:
@Component ("FileUpload") Public Class FileUploadUtil implementa FileUpload {// omitir el código original ... //@@@El valor significa buscar los beans con id = "proping" en el archivo beans.xml. Lee el archivo de configuración de propiedades a través de la anotación, y luego lee @Value ("#{Prop.BasePath+Prop.BankImagePath}") Private String BankImagePath; public String [] getBankImage () {string [] list = new File (BankImagePath) .List (new FileNameFilter () {// prueba si el archivo especificado debe incluirse en una lista de archivos @Override public boolean Aceptar (archivo dir, nombre de cadena) {System.out.Println ("Dir:" + Dir + ", nombre:" + nombre); // Usar el nombre de sufix para el nombre de la cadena) y colóquelo en la lista, devuelva falso y filtre el nombre de retorno.endswith (". gif"); lista de devolución; }Estamos cargando el archivo de configuración pública.
BasePath = E/: //web//apache-Tomcat-8.0.26//webapps//e_shopfilepath=//filesbankiMagePath=//files//bankimages
La razón de un basepath es facilitar la expansión, y el basepath no necesita ser movido si se modifica en el futuro. Sigamos observando el método anterior. El nuevo método de archivo (ruta) .list () es obtener todos los nombres de archivo en la ruta, pero el nuevo archivo (ruta) .list (filreFilter Filter) tiene una función de filtrado, que puede filtrar archivos no deseados y solo devolver los archivos deseados en la matriz. Solo hay un método de aceptación en la interfaz FileNameFilter, por lo que podemos usar clases internas para implementarlo y juzgar si se trata de un archivo con sufijo .gif.
1.2 Guardar el nombre del icono en el campo de la aplicación
A continuación almacenamos la variedad de nombres de iconos que acaban de guardar en el campo de la aplicación en el oyente. Estos métodos se han introducido antes, por lo que no los explicaré más. Veamos solo el código:
//@componente // El oyente es un componente de la capa web. Está instanciado por Tomcat, no en la primavera. No se puede poner en Spring Public Class InitDatalistener implementos ServletContextListener {// omitir otros códigos ... Aplicación privadaContext context = null; privado fileUpload fileUpload = null; @Override public void contextInitialized (evento servletContextEvent) {context = WebApplicationContextUtils.getWebApplicationContext (event.getServletContext ()); // Ponga la matriz almacenando imágenes bancarias en la aplicación y cargue fileUpload cuando el proyecto inicie = (fileUpload) context.getBean ("fileUpload"); event.getServletContext (). SetAttribute ("BankImageList", fileUpload.getBankImage ()); }}2. Pantalla de página de pago
Echemos un vistazo al código de Bank.jsp sobre el ícono del banco, como sigue:
Otra pieza muestra la información relevante del pedido. También se puede ver en el código a continuación que tomamos la información del pedido que habíamos respaldado anteriormente de la sesión. La información original se destruyó cuando el usuario confirmó la orden de saltar a la página de pago.
3. Prueba el efecto
Probemos el efecto de visualización de la página de pago, de la siguiente manera:
Bien, la página de pago se muestra normalmente. La función de pago se completará a continuación, es decir, la demostración escrita en la sección anterior usando Servlet. Sin embargo, ahora se pone en puntales, y se pueden considerar algunos otros problemas. Vamos a escribirlo en la siguiente sección.
Enlace original: http://blog.csdn.net/eson_15/article/details/51452243
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.