在路径中:
格式: http : //mydomain.com/ {category}/{subcategory}/{pageNumber}/{pageSize}
示例: http ://mydomain.com/books/thriller/3/25
在查询字符串中:
格式: http ://mydomain.com/ {category}/{subcategory}?PAGENUMBER = {PAGENUMBER}&的pageSize = {}的pageSize
示例: http ://mydomain.com/books/thriller?pageNumber = 3&pageSize = 25
我喜欢把所有东西放在路上,但我的问题是,虽然在第一个例子中"书"和"惊悚片" 显而易见(或至少有些明显),但"3"和"25"似乎很随意相比之下.
是否有一种规范的方法来确定MVC中的位置,或者它真的只适用于开发人员?
我想将方法标记为过时,但Delphi 5没有这样的功能.
为了举个例子,这里有一个虚构的方法,它已被弃用并且是新的首选形式:
procedure TStormPeaksQuest.BlowHodirsHorn; overload; //obsolete
procedure TStormPeaksQuest.BlowHodirsHorn(UseProtection: Boolean); overload;
Run Code Online (Sandbox Code Playgroud)
注意:对于这个假设的例子,我们假设使用无参数版本是非常糟糕的.没有" 使用保护 " 存在问题- 没有好的解决方案.没有人喜欢不必使用保护,但没有人愿意不采取保护措施.所以我们让呼叫者在吹Hodir号角时决定是否要使用保护.如果我们默认无参数版本继续不使用保护:
procedure TStormPeaksQuest.BlowHodirsHorn;
begin
BlowHodirsHorn(False); //No protection. Bad!
end;
Run Code Online (Sandbox Code Playgroud)
然后开发人员面临各种令人讨厌的东西的风险.如果我们强制无参数版本使用保护:
procedure TStormPeaksQuest.BlowHodirsHorn;
begin
BlowHodirsHorn(True); //Use protection; crash if there isn't any
end;
Run Code Online (Sandbox Code Playgroud)
如果开发人员没有得到任何保护,或者没有任何保护,那么就有可能出现问题.
现在我可以重命名过时的方法:
procedure TStormPeaksQuest.BlowHodirsHorn_Deprecatedd; overload; //obsolete
procedure TStormPeaksQuest.BlowHodirsHorn(UseProtection: Boolean); overload;
Run Code Online (Sandbox Code Playgroud)
但这会导致编译错误,人们会嘲笑我(我真的不想听到他们的抱怨).我希望他们得到一个唠叨,而不是一个实际的错误.
我想添加一个断言:
procedure TStormPeaksQuest.BlowHodirsHorn; //obsolete
begin
Assert(false, 'TStormPeaksQuest.BlowHodirsHorn is deprecated. Use BlowHodirsHorn(Boolean)');
...
end;
Run Code Online (Sandbox Code Playgroud)
但我无法保证开发人员不会在没有断言的情况下发布版本,从而导致客户的恶意崩溃.
如果开发人员正在调试,我想过只使用一个断言:
procedure TStormPeaksQuest.BlowHodirsHorn; //obsolete
begin
if DebugHook …
Run Code Online (Sandbox Code Playgroud) 我使用 maven 2.1-SNAPSHOT 作为 eclipse 插件。我的项目结构是这样的:
src/main/java
-model
-service
-action
src/test/java
空 atm
src/main/resources
空 atm
src/test/resources
空 atm
src/main/webapp
-js
-dojo
-META-INF
-WEB-INF
web .xml
appcontext.xml
struts.xml
index.jsp
我无法理解构建过程以及将哪个文件放在哪里。我用作应用程序服务器 Jetty,但我也想在 tomcat 上部署我的项目(所以我已经在我的 pom 打包战争中进行了设置)。
当我使用 maven:install 命令运行我的项目时,我的目标文件夹如下所示: myproject.war
war
not related
test-classes
empty atm
myproject
js
META-INF
WEB-INF
index.jsp
classes
model
service
action
我的问题是我需要在类文件夹中我在 META-INF 中有我的persistence.xml。我猜也是 struts.xml 。我不确定道场是否就在那里。老实说,我根本不知道这种结构是否正确。我也不知道如何配置输出更改。
我希望有人可以帮助我我真的很想了解这个过程应该如何正确,也许甚至有很好的资源可以查找以更好地处理这些事情。提前致谢
我正在尝试构建自己的自定义django表单小部件(将它们放在我项目目录的widgets.py中)."value_from_datadict()"的值应该返回什么?是返回字符串还是字段的实际预期值?
我正在使用JQuery对象构建我自己的分割日期/时间小部件版本,小部件的每个部分应返回什么?日期窗口小部件是否应返回日期时间,时间窗口小部件是否返回日期时间?什么胶水代码将两个值合并在一起?
Enumerable.First()
当您在Dictionary
集合的实例上调用它时,.NET 3.5扩展方法的含义是什么?
密钥集是确定哪个项目是第一个,还是仅仅未定义?
我想运行一个输出文件的控制台应用程序.
我使用以下代码:
Process barProcess = Process.Start("bar.exe", @"C:\foo.txt");
Run Code Online (Sandbox Code Playgroud)
运行时,将出现控制台窗口.我想隐藏控制台窗口,以便用户看不到它.
这可能吗?使用Process.Start是启动另一个控制台应用程序的最佳方法吗?
常见问题,但我可以使用"英语"解释..
我喜欢Java
Cat myCat
Run Code Online (Sandbox Code Playgroud)
实际上是指向猫的指针?
我真的应该在c#中创建复制构造函数吗?
我知道我们正在通过值传递,但现在我的问题是我们通过指针值或对象的完整副本传递?
如果它是后者,是不是太昂贵的性能/记忆明智?那是你必须使用ref关键字的时候吗?
在C中如果你有一个特定类型的数据包,你通常做的是定义一些结构并将char*转换为指向结构的指针.在此之后,您可以直接以编程方式访问网络数据包中的所有数据字段.像这样:
struct rdp_header {
int version;
char serverId[20];
};
Run Code Online (Sandbox Code Playgroud)
获得网络数据包后,您可以快速执行以下操作:
char * packet;
// receive packet
rdp_header * pckt = (rdp_header * packet);
printf("Servername : %20.20s\n", pckt.serverId);
Run Code Online (Sandbox Code Playgroud)
这种技术对基于UDP的协议非常有用,并且允许使用非常少的代码进行非常快速和非常有效的数据包解析和发送,以及简单的错误处理(只需检查数据包的长度).在java中有同样的,同样快速的方法吗?或者你被迫使用基于流的技术?
我正在努力做一些似乎应该很容易做的事情.我基本上想要在一个节点中乘以2个数字,然后将所有节点的总数加起来.这是我尝试过的XSLT代码.
<xsl:value-of select="sum(Parts/Part/Quantity * Parts/Part/Rate)"/>
Run Code Online (Sandbox Code Playgroud)
此代码导致出现"函数和的参数1无法转换为节点集"的错误.
有没有人知道什么是错的或我怎么能完成我想要做的事情?
我对Mvc框架以及JavaScript和JQuery都很陌生.我正在尝试理解构建Ajax调用的正确方法.
假设我有一个"投票"按钮,类似于您在StackOverflow上看到的内容.当用户点击它时,我需要更新数据库中的投票计数并将新值返回给UI.目前我通过在"PostsController"上使用一个名为"VoteUp"的动作来实现这一目的,该动作采用"int postID"作为参数.
public PostsController : Controller
{
public ActionResult VoteUp(int postId)
{
//Increment Post Vote Count
return Json(voteCount); //Return just the new vote count as a JSon result.
}
}
Run Code Online (Sandbox Code Playgroud)
然后我通过调用URL" http://mydomain.com/posts/voteUp?postId=5 " 通过ajax调用此方法.然后我返回一个带有新值的JSon ActionResult来更新UI.
这是实现这个的正确方法吗?同样,我对javascript和jquery都是全新的.我习惯于在asp.net webforms中作为click事件处理程序执行所有操作.任何指导将不胜感激.
c# ×3
.net ×2
java ×2
ajax ×1
asp.net-mvc ×1
c ×1
delphi ×1
deprecated ×1
django ×1
django-forms ×1
eclipse ×1
javascript ×1
jquery ×1
maven-2 ×1
networking ×1
packet ×1
pagination ×1
path ×1
python ×1
query-string ×1
spring ×1
struts ×1
udp ×1
xslt ×1
xslt-1.0 ×1
xslt-2.0 ×1