forum.bitel.ru http://forum.bitel.ru/ |
|
Как изменить валюту в summaToString http://forum.bitel.ru/viewtopic.php?f=14&t=5655 |
Страница 1 из 1 |
Автор: | romaniozi [ 29 июн 2011, 16:00 ] |
Заголовок сообщения: | Как изменить валюту в summaToString |
1.При помощи <xsl:value-of select="st:summaToString(@total_sum)" /> у т.ч. ПДВ: <xsl:value-of select="st:summaToString(counter:get( 'total_nds'))" /> выводится сумма и НДС. ![]() Как изменить валюту с рублей на гривни? |
Автор: | romaniozi [ 30 июн 2011, 12:29 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Подскажите хотя бы где лежит этот скрипт |
Автор: | romaniozi [ 30 июн 2011, 13:09 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Вот у меня есть скрипт Код: /* * Класс money2str - Приведение денежного выражения к строковому * 25/06/2003 Алексей Федоров * * Разрешается использование без всех известных мне ограничений * Выражаю благодарность неизвестному программисту * описавшему алгоритм этой задачи */ public class money2str { static String RubOneUnit, RubTwoUnit, RubFiveUnit, RubSex, KopOneUnit, KopTwoUnit, KopFiveUnit, KopSex; StringBuffer money2str = new StringBuffer(); public money2str(Double theMoney, String theISOstr) { FillSuffix(theISOstr); moneytostr(theMoney); } public void FillSuffix(String theISOstr) { org.w3c.dom.Document xmlDoc = null; javax.xml.parsers.DocumentBuilderFactory DocFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance(); try { javax.xml.parsers.DocumentBuilder xmlDocBuilder = DocFactory.newDocumentBuilder(); xmlDoc = xmlDocBuilder.parse( new java.io.File("currlist.xml") ); } catch (org.xml.sax.SAXException sxe) { Exception x = sxe; if (sxe.getException() != null) x = sxe.getException(); x.printStackTrace(); } catch (javax.xml.parsers.ParserConfigurationException pce) { pce.printStackTrace(); } catch (java.io.IOException ioe) { ioe.printStackTrace(); } org.w3c.dom.Element theISOElement = (org.w3c.dom.Element) (xmlDoc.getElementsByTagName(theISOstr)).item(0); RubOneUnit = theISOElement.getAttribute("RubOneUnit"); RubTwoUnit = theISOElement.getAttribute("RubTwoUnit"); RubFiveUnit = theISOElement.getAttribute("RubFiveUnit"); KopOneUnit = theISOElement.getAttribute("KopOneUnit"); KopTwoUnit = theISOElement.getAttribute("KopTwoUnit"); KopFiveUnit = theISOElement.getAttribute("KopFiveUnit"); RubSex = theISOElement.getAttribute("RubSex"); KopSex = theISOElement.getAttribute("KopSex"); } public void moneytostr(Double theMoney) { int triadNum = 0; int theTriad; int intPart = theMoney.intValue(); int fractPart = (int) Math.round((theMoney.doubleValue() - intPart)*100); if (intPart == 0) money2str.append("Ноль "); do { theTriad = intPart % 1000; money2str.insert(0, triad2Word(theTriad, triadNum, RubSex)); if (triadNum == 0) { int range10 = (theTriad % 100) / 10; int range = theTriad % 10; if (range10 == 1) { money2str = money2str.append(RubFiveUnit); } else { switch (range) { case 1: money2str = money2str.append(RubOneUnit); break; case 2: case 3: case 4: money2str = money2str.append(RubTwoUnit); break; default: money2str = money2str.append(RubFiveUnit); break; } } } intPart = intPart/1000; triadNum++; } while(theTriad !=0); money2str = money2str.append(" ").append(triad2Word(fractPart, 0, KopSex)); if ((fractPart % 10) == 1) { money2str = money2str.append(KopOneUnit); } else { switch (fractPart % 10) { case 1: money2str = money2str.append(KopOneUnit); break; case 2: case 3: case 4: money2str = money2str.append(KopTwoUnit); break; default: money2str = money2str.append(KopFiveUnit); break; } } money2str.setCharAt(0, Character.toUpperCase(money2str.charAt (0))); } static private String triad2Word(int triad, int triadNum, String Sex) { StringBuffer triadWord = new StringBuffer(28); // девятьсот восемьдесят четыре - 28 достаточно ? if (triad == 0) { return triadWord.toString(); } int range = triad / 100; switch (range) { default: break; case 1: triadWord = triadWord.append("сто "); break; case 2: triadWord = triadWord.append("двести "); break; case 3: triadWord = triadWord.append("триста "); break; case 4: triadWord = triadWord.append("четыреста "); break; case 5: triadWord = triadWord.append("пятьсот "); break; case 6: triadWord = triadWord.append("шестьсот "); break; case 7: triadWord = triadWord.append("семьсот "); break; case 8: triadWord = triadWord.append("восемьсот "); break; case 9: triadWord = triadWord.append("девятьсот "); break; } range = (triad % 100) / 10; switch (range) { default: break; case 2: triadWord = triadWord.append("двадцать "); break; case 3: triadWord = triadWord.append("тридцать "); break; case 4: triadWord = triadWord.append("сорок "); break; case 5: triadWord = triadWord.append("пятьдесят "); break; case 6: triadWord = triadWord.append("шестьдесят "); break; case 7: triadWord = triadWord.append("семьдесят "); break; case 8: triadWord = triadWord.append("восемьдесят "); break; case 9: triadWord = triadWord.append("девяносто "); break; } int range10 = range; range = triad % 10; if (range10 == 1) { switch (range) { case 0: triadWord = triadWord.append("десять "); break; case 1: triadWord = triadWord.append("одиннадцать "); break; case 2: triadWord = triadWord.append("двенадцать "); break; case 3: triadWord = triadWord.append("тринадцать "); break; case 4: triadWord = triadWord.append("четырнадцать "); break; case 5: triadWord = triadWord.append("пятнадцать "); break; case 6: triadWord = triadWord.append("шестнадцать "); break; case 7: triadWord = triadWord.append("семнадцать "); break; case 8: triadWord = triadWord.append("восемнадцать "); break; case 9: triadWord = triadWord.append("девятнадцать "); break; } } else { switch (range) { default: break; case 1: if (triadNum == 1) triadWord = triadWord.append("одна "); else if (Sex.equals("M")) triadWord = triadWord.append("один "); if (Sex.equals("F")) triadWord = triadWord.append("одна "); break; case 2: if (triadNum == 1) triadWord = triadWord.append("две "); else if (Sex.equals("M")) triadWord = triadWord.append("два "); if (Sex.equals("F")) triadWord = triadWord.append("две "); break; case 3: triadWord = triadWord.append("три "); break; case 4: triadWord = triadWord.append("четыре "); break; case 5: triadWord = triadWord.append("пять "); break; case 6: triadWord = triadWord.append("шесть "); break; case 7: triadWord = triadWord.append("семь "); break; case 8: triadWord = triadWord.append("восемь "); break; case 9: triadWord = triadWord.append("девять "); break; } } switch (triadNum) { default: break; case 1: if (range10 == 1) triadWord = triadWord.append("тысяч "); else { switch (range) { default: triadWord = triadWord.append("тысяч "); break; case 1: triadWord = triadWord.append("тысяча "); break; case 2: case 3: case 4: triadWord = triadWord.append("тысячи "); break; } } break; case 2: if (range10 == 1) triadWord = triadWord.append("миллионов "); else { switch (range) { default: triadWord = triadWord.append("миллионов "); break; case 1: triadWord = triadWord.append("миллион "); break; case 2: case 3: case 4: triadWord = triadWord.append("миллиона "); break; } } break; case 3: if (range10 == 1) triadWord = triadWord.append("миллиардов "); else { switch (range) { default: triadWord = triadWord.append("миллиардов "); break; case 1: triadWord = triadWord.append("миллиард "); break; case 2: case 3: case 4: triadWord = triadWord.append("миллиарда "); break; } } break; case 4: if (range10 == 1) triadWord = triadWord.append("триллионов "); else { switch (range) { default: triadWord = triadWord.append("триллионов "); break; case 1: triadWord = triadWord.append("триллион "); break; case 2: case 3: case 4: triadWord = triadWord.append("триллиона "); break; } } break; } return triadWord.toString(); } } как мне его вставить в код хсл? На данный момент у меня прописано так Код: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xalan="http://xml.apache.org/xalan" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" xmlns:st="bitel.billing.server.bill.bean.SummaToString" xmlns:counter="bitel.billing.server.util.exslt.Counter" version="1.0"> <xalan:component prefix="st" functions="summaToString"> <xalan:script lang="javaclass" src="xalan://bitel.billing.server.bill.bean.SummaToString"/> </xalan:component> <xalan:component prefix="counter" functions="add set get"> <xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.exslt.Counter"/> </xalan:component> <xsl:output encoding="windows-1251" method='xml' indent='yes' /> выводиться скрипт так Код: <xsl:variable name="sumStr" select="java:java.lang.String.new(st:summaToString(@total_sum))"/> <xsl:variable name="sumStr2" select="java:concat(java:toUpperCase(java:substring($sumStr,0,1)),java:substring($sumStr,1))"/> <xsl:value-of select="$sumStr2" /><xsl:variable name="sumStr" select="java:java.lang.String.new(st:summaToString(counter:get( 'total_nds')))"/> <xsl:variable name="sumStr2" select="java:concat(java:toUpperCase(java:substring($sumStr,0,1)),java:substring($sumStr,1))"/> в т.ч. НДС: <xsl:value-of select="$sumStr2" /> Куда мне надо поместить скрипт? Что мне сделать чтобы он заработал? |
Автор: | Феанор [ 30 июн 2011, 14:40 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
в заголовке xslt указывается пространство имен xmlns:st и тд - это импортируются классы библиотек. по сути вам надо надо импортировать туда свой класс. для этого его надо написать на чистой яве, скомпилировать и положить в папку либ сервера. поищите на форуме темы по "свой action в личном кабинете" |
Автор: | romaniozi [ 30 июн 2011, 14:58 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
спасибо, что подсказали направление поисков буду разбираться |
Автор: | romaniozi [ 04 июл 2011, 15:37 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
1.Нашел нужный скрипт 2.Скомпилил его MoneyToString.java ---->MoneyToString.class 3.Создал userjars.jar c файлом в нем MoneyToString.class 4.Закинул файл usersjars.jar в local/BGBillingServer/lib Теперь как мне его включить XSL? На данный момент сумма прописью пишется скриптом SummaToString Код: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xalan="http://xml.apache.org/xalan" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" xmlns:st="bitel.billing.server.bill.bean.SummaToString" xmlns:counter="bitel.billing.server.util.exslt.Counter" version="1.0"> <xalan:component prefix="st" functions="summaToString"> <xalan:script lang="javaclass" src="xalan://bitel.billing.server.bill.bean.SummaToString"/> </xalan:component> <xalan:component prefix="counter" functions="add set get"> <xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.exslt.Counter"/> </xalan:component> <xsl:output encoding="windows-1251" method='xml' indent='yes' /> Выводится так: Код: <xsl:variable name="sumStr" select="java:java.lang.String.new(st:summaToString(@total_sum))"/> <xsl:variable name="sumStr2" select="java:concat(java:toUpperCase(java:substring($sumStr,0,1)),java:substring($sumStr,1))"/> <xsl:value-of select="$sumStr2" /><xsl:variable name="sumStr" select="java:java.lang.String.new(st:summaToString(counter:get( 'total_nds')))"/> <xsl:variable name="sumStr2" select="java:concat(java:toUpperCase(java:substring($sumStr,0,1)),java:substring($sumStr,1))"/> в т.ч. НДС: <xsl:value-of select="$sumStr2" /> Подскажите что необходимо прописать мне чтобы выводился мой скрипт? |
Автор: | Администратор [ 17 авг 2011, 15:34 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Вы зачем пишите в куче мест один пост? Ответил в другой теме. Дальше пишите сюда. |
Автор: | romaniozi [ 05 сен 2011, 14:20 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Спасибо за ответ! 1.Нашел нужный скрипт 2.Скомпилил его money2str.java ---->money2str.class 3.Создал userjars.jar c файлом в нем money2str.class 4.Закинул файл usersjars.jar в local/BGBillingServer/lib 5.По аналогии с SummaToString в xsl прописал Код: xmlns:mst="money2str" <xalan:component prefix="mst" functions="summaToString"> <xalan:script lang="javaclass" src="xalan://money2str"/> </xalan:component> <xsl:value-of select="mst:summaToString(@total_sum)" /> Оставляет пустую строку. |
Автор: | Феанор [ 06 сен 2011, 12:44 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
А пакет действительно идет money2str? Т.е. в первой строчке java файлика у вас "package money2str;" написано? Если да, то код срикпта сюда, будем его смотреть, если нет, то в срц надо писать то как пакет называется, они обычно как то так называются - bitel.billing.server.util.exslt.Counter, или там ru.blabla.money2str. |
Автор: | romaniozi [ 06 сен 2011, 13:08 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Код: /* * Класс money2str - Приведение денежного выражения к строковому * 25/06/2003 Алексей Федоров * * Разрешается использование без всех известных мне ограничений * Выражаю благодарность неизвестному программисту * описавшему алгоритм этой задачи */ public class money2str { static String RubOneUnit, RubTwoUnit, RubFiveUnit, RubSex, KopOneUnit, KopTwoUnit, KopFiveUnit, KopSex; StringBuffer money2str = new StringBuffer(); public money2str(Double theMoney, String theISOstr) { FillSuffix(theISOstr); moneytostr(theMoney); } public void FillSuffix(String theISOstr) { org.w3c.dom.Document xmlDoc = null; javax.xml.parsers.DocumentBuilderFactory DocFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance(); try { javax.xml.parsers.DocumentBuilder xmlDocBuilder = DocFactory.newDocumentBuilder(); xmlDoc = xmlDocBuilder.parse( new java.io.File("currlist.xml") ); } catch (org.xml.sax.SAXException sxe) { Exception x = sxe; if (sxe.getException() != null) x = sxe.getException(); x.printStackTrace(); } catch (javax.xml.parsers.ParserConfigurationException pce) { pce.printStackTrace(); } catch (java.io.IOException ioe) { ioe.printStackTrace(); } org.w3c.dom.Element theISOElement = (org.w3c.dom.Element) (xmlDoc.getElementsByTagName(theISOstr)).item(0); RubOneUnit = theISOElement.getAttribute("RubOneUnit"); RubTwoUnit = theISOElement.getAttribute("RubTwoUnit"); RubFiveUnit = theISOElement.getAttribute("RubFiveUnit"); KopOneUnit = theISOElement.getAttribute("KopOneUnit"); KopTwoUnit = theISOElement.getAttribute("KopTwoUnit"); KopFiveUnit = theISOElement.getAttribute("KopFiveUnit"); RubSex = theISOElement.getAttribute("RubSex"); KopSex = theISOElement.getAttribute("KopSex"); } public void moneytostr(Double theMoney) { int triadNum = 0; int theTriad; int intPart = theMoney.intValue(); int fractPart = (int) Math.round((theMoney.doubleValue() - intPart)*100); if (intPart == 0) money2str.append("Ноль "); do { theTriad = intPart % 1000; money2str.insert(0, triad2Word(theTriad, triadNum, RubSex)); if (triadNum == 0) { int range10 = (theTriad % 100) / 10; int range = theTriad % 10; if (range10 == 1) { money2str = money2str.append(RubFiveUnit); } else { switch (range) { case 1: money2str = money2str.append(RubOneUnit); break; case 2: case 3: case 4: money2str = money2str.append(RubTwoUnit); break; default: money2str = money2str.append(RubFiveUnit); break; } } } intPart = intPart/1000; triadNum++; } while(theTriad !=0); money2str = money2str.append(" ").append(triad2Word(fractPart, 0, KopSex)); if ((fractPart % 10) == 1) { money2str = money2str.append(KopOneUnit); } else { switch (fractPart % 10) { case 1: money2str = money2str.append(KopOneUnit); break; case 2: case 3: case 4: money2str = money2str.append(KopTwoUnit); break; default: money2str = money2str.append(KopFiveUnit); break; } } money2str.setCharAt(0, Character.toUpperCase(money2str.charAt (0))); } static private String triad2Word(int triad, int triadNum, String Sex) { StringBuffer triadWord = new StringBuffer(28); // девятьсот восемьдесят четыре - 28 достаточно ? if (triad == 0) { return triadWord.toString(); } int range = triad / 100; switch (range) { default: break; case 1: triadWord = triadWord.append("сто "); break; case 2: triadWord = triadWord.append("двести "); break; case 3: triadWord = triadWord.append("триста "); break; case 4: triadWord = triadWord.append("четыреста "); break; case 5: triadWord = triadWord.append("пятьсот "); break; case 6: triadWord = triadWord.append("шестьсот "); break; case 7: triadWord = triadWord.append("семьсот "); break; case 8: triadWord = triadWord.append("восемьсот "); break; case 9: triadWord = triadWord.append("девятьсот "); break; } range = (triad % 100) / 10; switch (range) { default: break; case 2: triadWord = triadWord.append("двадцать "); break; case 3: triadWord = triadWord.append("тридцать "); break; case 4: triadWord = triadWord.append("сорок "); break; case 5: triadWord = triadWord.append("пятьдесят "); break; case 6: triadWord = triadWord.append("шестьдесят "); break; case 7: triadWord = triadWord.append("семьдесят "); break; case 8: triadWord = triadWord.append("восемьдесят "); break; case 9: triadWord = triadWord.append("девяносто "); break; } int range10 = range; range = triad % 10; if (range10 == 1) { switch (range) { case 0: triadWord = triadWord.append("десять "); break; case 1: triadWord = triadWord.append("одиннадцать "); break; case 2: triadWord = triadWord.append("двенадцать "); break; case 3: triadWord = triadWord.append("тринадцать "); break; case 4: triadWord = triadWord.append("четырнадцать "); break; case 5: triadWord = triadWord.append("пятнадцать "); break; case 6: triadWord = triadWord.append("шестнадцать "); break; case 7: triadWord = triadWord.append("семнадцать "); break; case 8: triadWord = triadWord.append("восемнадцать "); break; case 9: triadWord = triadWord.append("девятнадцать "); break; } } else { switch (range) { default: break; case 1: if (triadNum == 1) triadWord = triadWord.append("одна "); else if (Sex.equals("M")) triadWord = triadWord.append("один "); if (Sex.equals("F")) triadWord = triadWord.append("одна "); break; case 2: if (triadNum == 1) triadWord = triadWord.append("две "); else if (Sex.equals("M")) triadWord = triadWord.append("два "); if (Sex.equals("F")) triadWord = triadWord.append("две "); break; case 3: triadWord = triadWord.append("три "); break; case 4: triadWord = triadWord.append("четыре "); break; case 5: triadWord = triadWord.append("пять "); break; case 6: triadWord = triadWord.append("шесть "); break; case 7: triadWord = triadWord.append("семь "); break; case 8: triadWord = triadWord.append("восемь "); break; case 9: triadWord = triadWord.append("девять "); break; } } switch (triadNum) { default: break; case 1: if (range10 == 1) triadWord = triadWord.append("тысяч "); else { switch (range) { default: triadWord = triadWord.append("тысяч "); break; case 1: triadWord = triadWord.append("тысяча "); break; case 2: case 3: case 4: triadWord = triadWord.append("тысячи "); break; } } break; case 2: if (range10 == 1) triadWord = triadWord.append("миллионов "); else { switch (range) { default: triadWord = triadWord.append("миллионов "); break; case 1: triadWord = triadWord.append("миллион "); break; case 2: case 3: case 4: triadWord = triadWord.append("миллиона "); break; } } break; case 3: if (range10 == 1) triadWord = triadWord.append("миллиардов "); else { switch (range) { default: triadWord = triadWord.append("миллиардов "); break; case 1: triadWord = triadWord.append("миллиард "); break; case 2: case 3: case 4: triadWord = triadWord.append("миллиарда "); break; } } break; case 4: if (range10 == 1) triadWord = triadWord.append("триллионов "); else { switch (range) { default: triadWord = triadWord.append("триллионов "); break; case 1: triadWord = triadWord.append("триллион "); break; case 2: case 3: case 4: triadWord = triadWord.append("триллиона "); break; } } break; } return triadWord.toString(); } } package тут нету, money2str.java скомпилирован в money2str.class а далее в usersjars.jar Пробовал изменить стандартный SummaToString код, нашел его, там вместо букв unicode, попытался переделать, вроде все хорошо. Переделал, заархивировал обратно в .jar с помощью jdk1.7.0 биллинг перестал работать, вернул все обратно... |
Автор: | Феанор [ 06 сен 2011, 13:27 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
У вас пакет никак не обозван - просто класс какой-то, система не знает где его искать. Добавьте package romaniozi.money2str; В xslt там где было srс=xalan... вставьте romaniozi.money2str, вместо просто money2str |
Автор: | romaniozi [ 06 сен 2011, 13:45 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Феанор писал(а): У вас пакет никак не обозван - просто класс какой-то, система не знает где его искать. Добавьте package romaniozi.money2str; В xslt там где было srс=xalan... вставьте romaniozi.money2str, вместо просто money2str Прописал в money2str.java Код: package romaniozi.money2str скомпилирован в money2str.class а далее в usersjars.jarВ XSL написал следующее Код: xmlns:mst="romaniozi.money2str" <xalan:component prefix="mst" functions="summaToString"> <xalan:script lang="javaclass" src="xalan://romaniozi.money2str"/> </xalan:component> <xsl:value-of select="mst:summaToString(@total_sum)" /> пустая строка |
Автор: | Феанор [ 06 сен 2011, 15:29 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Извиняюсь, путь до этого класса будет romaniozi.money2str.money2str. название_пакета.Название_класса. Или уберите из названия пакета в java файле monet2str, или добавьте в хслт название класса. Как вариант еще проверить - добавьте фукнцию суммаТуСтрингТест, а в нее - вывод фиксированной строки. Ну и тут сделать так <xalan:component prefix="mst" functions="summaToString summaToStringTest"> Код: public String summaToStringTest(){ Sting out="test"; return outl } Сделайте вызов откуда нибудь в шаблоне, посмотрите что вообще идет обращение к методу класса нормально. ps Кстати, название public классов принято писать с большой буквы |
Автор: | romaniozi [ 06 сен 2011, 17:01 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Не помогло, буду пробовать сделать класс с одним методом и обращаться к нему. |
Автор: | romaniozi [ 06 сен 2011, 19:44 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
сделал Testit.java Код: package romaniozi.Testit; public class Testit { public String Testit() { String temp="ssss"; return temp; } } скомпилил Testit.class закинул в userjar.jar cкинул в \lib Прописал Код: xmlns:mst="romaniozi.Testit.Testit" Код: <xalan:component prefix="mst" functions="Testit"> <xalan:script lang="javaclass" src="xalan://romaniozi.Testit.Testit"/> </xalan:component> Код: <xsl:value-of select="mst:Testit()"/> В итоге ничего. |
Автор: | Феанор [ 07 сен 2011, 12:02 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Сервер рестартите когда джарку кидаете? Он при старте подхватывает библиотеки. А в логах сервера ошибок нет? По идее-то вроде все верно сделано =/ |
Автор: | romaniozi [ 07 сен 2011, 13:56 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Рестартили, ошибок нет |
Автор: | romaniozi [ 07 ноя 2011, 19:54 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
Решил свою проблему так Код: <!--Сумма--> <xsl:variable name="summa_str" select="java:java.lang.String.new(st:summaToString(@total_sum))"/> <!--/Сумма--> <!--Копейки--> <xsl:variable name="kop_str" select="substring-after(@total_sum, '.')"/> <!--/Копейки--> <!--Возможные варианты спряжения рубля--> <!--Еденицы--> <xsl:variable name="odin_rub" select="substring-before($summa_str, 'один рубль')"/> <xsl:variable name="dva_rub" select="substring-before($summa_str, 'два рубля')"/> <xsl:variable name="tri_rub" select="substring-before($summa_str, 'три рубля')"/> <xsl:variable name="chetire_rub" select="substring-before($summa_str, 'четыре рубля')"/> <xsl:variable name="pyat_rub" select="substring-before($summa_str, 'пять рублей')"/> <xsl:variable name="shest_rub" select="substring-before($summa_str, 'шесть рублей')"/> <xsl:variable name="sem_rub" select="substring-before($summa_str, 'семь рублей')"/> <xsl:variable name="devyat_rub" select="substring-before($summa_str, 'девять рублей')"/> <xsl:variable name="desyat_rub" select="substring-before($summa_str, 'десять рублей')"/> <!--/Еденицы--> <!--Десятки--> <xsl:variable name="desyyat_rub" select="substring-before($summa_str, 'десят рублей')"/> <xsl:variable name="dvadcat_rub" select="substring-before($summa_str, 'двадцать рублей')"/> <xsl:variable name="tridcat_rub" select="substring-before($summa_str, 'тридцать рублей')"/> <xsl:variable name="nadcat_rub" select="substring-before($summa_str, 'надцать рублей')"/> <xsl:variable name="rok_rub" select="substring-before($summa_str, 'рок рублей')"/> <!--/Десятки--> <!--Сотни--> <xsl:variable name="sto_rub" select="substring-before($summa_str, 'то рублей')"/> <xsl:variable name="sti_rub" select="substring-before($summa_str, 'сти рублей')"/> <xsl:variable name="sta_rub" select="substring-before($summa_str, 'ста рублей')"/> <xsl:variable name="sot_rub" select="substring-before($summa_str, 'сот рублей')"/> <!--/Сотни--> <!--Тысячи--> <xsl:variable name="tisyachi_rub" select="substring-after($summa_str, 'тысячи ')"/> <xsl:variable name="tisyachi_rub3" select="substring-before($tisyachi_rub, ' коп')"/> <xsl:variable name="tisyachi_rub2" select="substring-before($summa_str, 'рублей')"/> <xsl:variable name="tisyacha_rub" select="substring-after($summa_str, 'тысяча ')"/> <xsl:variable name="tisyacha_rub3" select="substring-before($tisyacha_rub, ' коп')"/> <xsl:variable name="tisyacha_rub2" select="substring-before($summa_str, 'рублей')"/> <xsl:variable name="tisyach_rub" select="substring-after($summa_str, 'тысяч ')"/> <xsl:variable name="tisyach_rub3" select="substring-before($tisyach_rub, ' коп')"/> <xsl:variable name="tisyach_rub2" select="substring-before($summa_str, 'рублей')"/> <!--/Тысячи--> <!--/Возможные варианты спряжения рубля--> <!--Сравнение--> <!--/Еденицы--> <xsl:if test="$odin_rub!=''"> <xsl:variable name="odin_rub2" select="java:concat(java:toUpperCase(java:substring($odin_rub,0,1)),java:substring($odin_rub,1))"/> <xsl:value-of select="$odin_rub2"/>одна гривня <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$dva_rub!=''"> <xsl:variable name="dva_rub2" select="java:concat(java:toUpperCase(java:substring($dva_rub,0,1)),java:substring($dva_rub,1))"/> <xsl:value-of select="$dva_rub2"/>две гривни <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$tri_rub!=''"> <xsl:variable name="tri_rub2" select="java:concat(java:toUpperCase(java:substring($tri_rub,0,1)),java:substring($tri_rub,1))"/> <xsl:value-of select="$tri_rub2"/>три гривни <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$chetire_rub!=''"> <xsl:variable name="chetire_rub2" select="java:concat(java:toUpperCase(java:substring($chetire_rub,0,1)),java:substring($chetire_rub,1))"/> <xsl:value-of select="$chetire_rub2"/>четыре гривни <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$pyat_rub!=''"> <xsl:variable name="pyat_rub2" select="java:concat(java:toUpperCase(java:substring($pyat_rub,0,1)),java:substring($pyat_rub,1))"/> <xsl:value-of select="$pyat_rub2"/>пять гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$shest_rub!=''"> <xsl:variable name="shest_rub2" select="java:concat(java:toUpperCase(java:substring($shest_rub,0,1)),java:substring($shest_rub,1))"/> <xsl:value-of select="$shest_rub2"/>шесть гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$sem_rub!=''"> <xsl:variable name="sem_rub2" select="java:concat(java:toUpperCase(java:substring($sem_rub,0,1)),java:substring($sem_rub,1))"/> <xsl:value-of select="$sem_rub2"/>семь гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$devyat_rub!=''"> <xsl:variable name="devyat_rub2" select="java:concat(java:toUpperCase(java:substring($devyat_rub,0,1)),java:substring($devyat_rub,1))"/> <xsl:value-of select="$devyat_rub2"/>девять гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$desyat_rub!=''"> <xsl:variable name="desyat_rub2" select="java:concat(java:toUpperCase(java:substring($desyat_rub,0,1)),java:substring($desyat_rub,1))"/> <xsl:value-of select="$desyat_rub2"/>десять гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <!--/Еденицы--> <!--Десятки--> <xsl:if test="$desyyat_rub!=''"> <xsl:variable name="desyyat_rub2" select="java:concat(java:toUpperCase(java:substring($desyyat_rub,0,1)),java:substring($desyyat_rub,1))"/> <xsl:value-of select="$desyyat_rub2"/>десят гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$dvadcat_rub!=''"> <xsl:variable name="dvadcat_rub2" select="java:concat(java:toUpperCase(java:substring($dvadcat_rub,0,1)),java:substring($dvadcat_rub,1))"/> <xsl:value-of select="$dvadcat_rub2"/>двадцать гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$tridcat_rub!=''"> <xsl:variable name="tridcat_rub2" select="java:concat(java:toUpperCase(java:substring($tridcat_rub,0,1)),java:substring($tridcat_rub,1))"/> <xsl:value-of select="$tridcat_rub2"/>тридцать гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$rok_rub!=''"> <xsl:variable name="rok_rub2" select="java:concat(java:toUpperCase(java:substring($rok_rub,0,1)),java:substring($rok_rub,1))"/> <xsl:value-of select="$rok_rub2"/>рок гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$nadcat_rub!=''"> <xsl:variable name="nadcat_rub2" select="java:concat(java:toUpperCase(java:substring($nadcat_rub,0,1)),java:substring($nadcat_rub,1))"/> <xsl:value-of select="$nadcat_rub2"/>надцать гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <!--Десятки--> <!--/Сотни--> <xsl:if test="$sto_rub!=''"> <xsl:variable name="sto_rub2" select="java:concat(java:toUpperCase(java:substring($sto_rub,0,1)),java:substring($sto_rub,1))"/> <xsl:value-of select="$sto_rub2"/>то гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$sti_rub!=''"> <xsl:variable name="sti_rub2" select="java:concat(java:toUpperCase(java:substring($sti_rub,0,1)),java:substring($sti_rub,1))"/> <xsl:value-of select="$sti_rub2"/>сти гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$sta_rub!=''"> <xsl:variable name="sta_rub2" select="java:concat(java:toUpperCase(java:substring($sta_rub,0,1)),java:substring($sta_rub,1))"/> <xsl:value-of select="$sta_rub2"/>ста гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <xsl:if test="$sot_rub!=''"> <xsl:variable name="sot_rub2" select="java:concat(java:toUpperCase(java:substring($sot_rub,0,1)),java:substring($sot_rub,1))"/> <xsl:value-of select="$sot_rub2"/>сот гривень <xsl:value-of select="$kop_str"/> коп. </xsl:if> <!--/Сотни--> <!--/Тысячи--> <xsl:choose> <xsl:when test="$tisyachi_rub3=concat(' рублей ', $kop_str)"> <xsl:variable name="tisyachi_rub4" select="java:concat(java:toUpperCase(java:substring($tisyachi_rub2,0,1)),java:substring($tisyachi_rub2,1))"/> <xsl:value-of select="$tisyachi_rub4"/> гривень <xsl:value-of select="$kop_str"/> коп. </xsl:when> <xsl:when test="$tisyacha_rub3=concat(' рублей ', $kop_str)"> <xsl:variable name="tisyach_rub4" select="java:concat(java:toUpperCase(java:substring($tisyach_rub2,0,1)),java:substring($tisyach_rub2,1))"/> <xsl:value-of select="$tisyach_rub4"/> гривень <xsl:value-of select="$kop_str"/> коп. </xsl:when> <xsl:when test="$tisyach_rub3=concat(' рублей ', $kop_str)"> <xsl:variable name="tisyach_rub4" select="java:concat(java:toUpperCase(java:substring($tisyach_rub2,0,1)),java:substring($tisyach_rub2,1))"/> <xsl:value-of select="$tisyach_rub4"/> гривень <xsl:value-of select="$kop_str"/> коп. </xsl:when> </xsl:choose> <!--/Тысячи--> <!--/Сравнение--> С UpperCase |
Автор: | Администратор [ 29 дек 2011, 13:11 ] |
Заголовок сообщения: | Re: Как изменить валюту в summaToString |
В WiKi выложите, если не трудно. Где про XSLT шаблоны.. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |