A partir da pequena demonstração na seção anterior, descobrimos como nos conectar com o processo de pagamento de Yibao e Yibao. Nesta seção, vamos fazer a página de pagamento e importar os ícones bancários para a página.
1 Ícone do banco da loja
Os ícones bancários geralmente nem sempre carregam porque essas coisas estão mortas. Não há necessidade de carregar ícones bancários toda vez que você inserir na página de pagamento, para que o desempenho seja afetado até certo ponto. Isso nos lembra o carregamento anterior dos dados da página inicial. De fato, é o mesmo que isso. Podemos carregar o recurso de ícone bancário no aplicativo quando o projeto for iniciado. Depois disso, ele pode ser usado diretamente no domínio do aplicativo. Então, como antes, carregamos o ícone do banco no ouvinte.
O funcionário do ícone do banco Yibao nos fornecerá, então o que precisamos fazer é colocar esses ícones em uma pasta no projeto. Eu os coloquei em webroot/arquivos/bancos. Os nomes desses ícones são estritamente nomeados de acordo com os nomes oficiais exigidos por Yibao. Como visto na seção anterior, o ICBC o chamou de ICBC-NET.GIF.
A idéia de carregar ícones é a seguinte:
1) Primeiro, obtenha os nomes de todos os ícones do diretório especificado e filtre arquivos desnecessários. Essa filtragem é muito importante porque, se houver alguns arquivos extras ou arquivos ocultos, todos os obtemos e, em seguida, algumas coisas estranhas aparecerão quando a recepção os exibir, por isso temos apenas ícones úteis.
2) Em segundo lugar, depois de recebermos os nomes dos ícones, os colocamos em uma matriz ou coleção e, em seguida, armazenamos a matriz ou coleção no campo de aplicativos, é óbvio. O segundo passo é implementado no ouvinte. O primeiro passo é que podemos escrever uma nova classe de ferramentas, ou podemos concluí -la na aula do FileUploadutil que escrevemos antes.
1.1 Obtenha o nome do ícone
Adicionamos o código para obter o nome do ícone no FileUploadutil:
@Component ("FileUpload") Classe pública FileUploadutil implementa o arquivo FileUpload {// omitisse o código original ... //@Value significa pesquisar os feijões com id = "prop" no arquivo bean.xml. Ele lê o arquivo de configuração de propriedades através da anotação e depois lê @value ("#{prop.basepath+prop.bankimagePath}") private string bankImagePath; public String [] getBankImage () {String [] list = new File (BankImagePath) .List (new FileNameFilter () {// Teste se o arquivo especificado deve ser incluído em uma lista de arquivos @Override Public boolean Acep (Nome da string, Nome) {System.out.println ("Dir:" + Dir + " Coloque -o na lista, retorne False e filtre o nome de retorno.endSwith ("GIF"); lista de retorno; }Estamos carregando o arquivo de configuração do público.Properties e dê uma olhada no conteúdo no arquivo de configuração:
Basepath = e/: //web//apache-tomcat-8.0.26//webapps//e_shopfilepath=//filesbankimagePath=//files//bankimages
O motivo de um Basepath é facilitar a expansão, e o Basepath não precisa ser movido se modificado no futuro. Vamos continuar analisando o método acima. O método de novo arquivo (caminho) .list () é obter todos os nomes de arquivos no caminho, mas o novo arquivo (caminho) .list (fillenamefilter filtro) possui uma função de filtragem, que pode filtrar arquivos indesejados e retornar apenas os arquivos desejados na matriz. Existe apenas um método de aceitação na interface FileNameFilter, para que possamos usar classes internas para implementá -lo e julgar se é um arquivo com o sufixo .gif.
1.2 Salve o nome do ícone no campo do aplicativo
Abaixo, armazenamos a matriz de nomes de ícones que acabaram de salvar no campo de aplicativos no ouvinte. Esses métodos já foram introduzidos antes, então não os explicarei mais. Vamos apenas olhar para o código:
//@componente // ouvinte é um componente da camada da web. É instanciado por Tomcat, não na primavera. Não pode ser colocado na classe pública da primavera initDatalistener implementa servletContextListener {// omitis outros códigos ... ApplicationContext de ApplicationContext privado = null; private fileUpload fileUpload = null; @Override public void contextinitialized (Evento ServletContextevent) {context = webApplicationContextUtils.getwebApplicationContext (event.getServletContext ()); // Coloque a matriz armazenando imagens bancárias no aplicativo e carregue o FileUpload quando o projeto iniciar = (FileUpload) context.getBean ("fileUpload"); event.getServletContext (). SetAttribute ("BankImagelist", FileUpload.getBankImage ()); }}2. Exibição da página de pagamento
Vamos dar uma olhada no código do Bank.jsp sobre o ícone do banco, como segue:
Outra peça mostra as informações relevantes do pedido. Também pode ser visto no código abaixo que pegamos as informações do pedido que tínhamos recuado anteriormente da sessão. As informações originais foram destruídas quando o usuário confirmou o pedido para pular para a página de pagamento.
3. Teste o efeito
Vamos testar o efeito de exibição da página de pagamento, como segue:
Ok, a página de pagamento é exibida normalmente. A função de pagamento deve ser concluída abaixo, ou seja, a demonstração escrita na seção anterior usando o servlet. No entanto, agora é colocado em suportes e algumas outras questões podem ser consideradas. Vamos escrever na próxima seção.
Link original: http://blog.csdn.net/eson_15/article/details/51452243
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.